特定カテゴリーの記事を指定件数分表示(query_posts、get_posts) : WordPress

Pocket

特定のカテゴリーに属する記事を決められた件数分だけ表示する時に使うquery_posts,get_postsについてまとめる。
query_posts・get_postsを上記の機能を実現するために利用する場合は殆んど同じ働きをする。しかし違いもあるのでそれについてもまとめる。

2011.07.07追記
ポスト情報を取得する際のquery_posts・get_posts・WP_Query()の働きの違いについては下記の記事が詳しい。
» get_posts() と WP_query() | WordPress の部屋

2011.07.09追記
» query_posts, get_posts : WordPress

  • query_postsのループ処理 ⇒ while
  • get_postsのループ処理 ⇒ foreach

具体的にカテゴリー3の最新記事を5件表示する場合の例を記載する。

query_posts

<?php query_posts($query_string . '&cat=3&showposts=5'); ?>
<?php if(have_posts()):while(have_posts()):the_post();?>
    <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
<?php endwhile; endif; ?>

get_postsを利用する場合

<?php
    $myposts = get_posts($query_string . '&category=3&numberposts=5');
    if($posts):foreach($myposts as $post) :
?>
        <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p>
<?php
    endforeach; endif;
?>

引数

$query_string

引数に$query_stringを付けないと、posts_nav_linkを使ったページが分割処理がうまく動作しない。
»スゴク便利な万能タグ「query_posts」ただし…【WordPressカスタマイズメモ】

showposts

showpostsで指定した値はダッシュボード > 設定 > 表示設定「1ページに表示する最大投稿数」で指定した値より優先される。

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。