WordPressで特定のページのコンテンツを表示

WordPressで、特定のページのコンテンツを引っ張ってきて表示させる方法。
下記の例だと、カテゴリ999から1件だけ取得し、そのタイトルとコンテンツを表示させている。

<?php $special_posts = get_posts('numberposts=1&category=999');
foreach($special_posts as $special_post) :
setup_postdata($special_post); ?>
<h3><a href="<?php echo get_permalink( $seminar_post->ID ); ?>">
<?php echo wp_3_specialchars( $seminar_post->post_title ); ?></a></h3>
<?php echo $seminar_post->post_content ; ?></li>
<?php endforeach; ?>

もちろん、get_posts()の引数を変更することによって、複数の記事のリストを表示させたりすることも可能。
ただしget_posts()関数を使う際には、foreachで回すキーとバリューに注意する。
Codexで紹介されているように$postsを使ってしまうと、それ以降のデータも書き換えられてしまう。
(それ以降に記述してある、通常の記事のループがこの記事データに上書きセットされる)

参照:
テンプレートタグ/get posts – WordPress Codex 日本語版

広告

About: dacelo


2 thoughts on “WordPressで特定のページのコンテンツを表示”

Leave a Reply

Your email address will not be published. Required fields are marked *