get_posts()テンプレートタグを使った情報の取得と表示方法
get_posts() テンプレートタグを使った、記事タイトルなどの投稿データ取得と表示の方法です。
get_posts()とquery_posts()タグと使用方法は似ていますが、query_posts() 関数はメインの WordPress ループだけを変更するためのもので、get_posts()はメインループの他にループが必要な場合に使うタグという事です。
query_posts() 関数はメインの WordPress ループだけを変更するためのものです。新たなループを作るためのものではありません。メインループの他にループが必要な場合は、get_posts() を使ってください。テンプレートタグ/query posts – WordPress Codex 日本語版
使えるパラメータの値もquery_posts()と似ています。
パラメータとデフォルトの値
<?php $args = array( 'numberposts' => 5, //取得する投稿の数 'offset' => 0, //先頭から何件の投稿を除外するか 'category' => , //指定したカテゴリID の投稿のみを返す。除外したい時は-を付ける 'orderby' => 'post_date', //様々な値で並べ替える 'order' => 'DESC', //$orderby でのソート方式。'ASC' - 昇順(低から高)。'DESC' - 降順(高から低)。 'include' => , //表示したい投稿のID 'exclude' => , //表示したくない投稿のID 'meta_key' => , 'meta_value' => , //カスタムフィールドのキーと値を持つ投稿のみ表示。両方のパラメータ指定が必要 'post_type' => 'post', //表示する投稿のタイプ。post、page、any(全て)等 'post_parent' => , //このIDの投稿の子のみを表示 'post_status' => 'publish' //指定したステータスの投稿を表示 ); ?>
参照:
get_posts:WordPress私的マニュアル
テンプレートタグ/get posts – WordPress Codex 日本語版
Template Tags/get posts « WordPress Codex
get_posts:WordPress私的マニュアル
テンプレートタグ/get posts – WordPress Codex 日本語版
Template Tags/get posts « WordPress Codex
使用例
get_posts()はデータをオブジェクト形式で返します。例えば最近の記事5件のタイトルと記事リンク・日付をトップページに表示するにはforeach文を使い下記のように記入します。
<ul> <?php $postslist = get_posts('numberposts=5&orderby=post_date&order=DESC"'); //$postslistにget_postsで取得したデータを入れる foreach ($postslist as $post) : setup_postdata($post); //foreach文で繰り返し出力する ?> <li><?php the_date(); ?><a href="<?php the_permalink();?>"><?php the_title(); ?></a> </li> <?php endforeach; ?> </ul>
No Comments & Tracbacks