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私的マニュアル


参考サイト