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()はデータをオブジェクト形式で返します。例えば最近の記事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>

Related Article

No Comments & Tracbacks

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー トラブル コードサンプル コンテンツ スライドショー jQueryプラグイン php 引っ越し 素材 お知らせ JavaScript Facebook CSS カテゴリー 投稿タイプ IE HTML5 Shareボタン seo レスポンシブ Photoshop タクソノミー ナビゲーション カスタムメニュー Git Macアプリ サイドバー WPセキュリティ SVG iTunes PHPリファレンス API WP使い方 query_posts データベース get_posts() 条件分岐 コメント function RSS スマートフォン Sass/Compass さくらVPS