WordPressの固定ページとかで、記事一覧を取得して一覧表示することがよくある。
一覧表示するためには、Exec-PHPプラグインを利用するのだけれども、WordPressの編集画面でテキストから[ビジュアル]に変換すると、表示がおかしなことになる。
そのたびごとに、再度コードを書き直しているのだけれども、どんなコードだったかスグ忘れて、メモもどこかに行ってしまうので、このサイトでもメモしておく。
事前準備
WordPressの編集画面でPHPを利用するために、Exec-PHPを入れる。
WordPress 窶コ Exec-PHP ≪ WordPress Plugins
ソースコード例
以下のコードをWordPress編集画面に貼り付け。ここではPHPカテゴリ(カテゴリIDは39)を取得する。カテゴリIDは[ダッシュポード] > [カテゴリー]から調べることができる。
[gist]https://gist.github.com/4450427[/gist]
表示例
<archives/hp $args = array( ‘numberposts’ => -1, ‘cat’=> 39);
$posts = get_posts($args); global $post;?>
<archives/hp foreach($posts as $post): ?>
<archives/hp endforeach; ?>
よく使うのは numberposts/cat/tagのオプション
表示する記事のオプション指定は $args = array( hogehoge ) の中を編集する。
numberpostsの引数で、取得する件数を指定。"-1"で全て取得。
cat の引数でカテゴリIDを指定。これを指定すると、カテゴリに属する記事一覧が取得できるので、カテゴリごとの固定ページの作成に便利。
tag の引数で、タグに割りつけたスラングを指定(タグ名でないことに注意)
他にもオブションはたくさんある。詳しくは以下のページが参考になる。
get_postsとquery_postsを使い分け:WordPress私的マニュアル