トップページやカテゴリーのページで
通常のループを使って投稿記事を呼び出す時、
「古い順に表示させたいなー」とか
「特定のカテゴリーのみで表示させたいなー」
なんていうときが特に企業サイトの場合は多々あります。
そういう時に便利なのが「query_posts」タグ。
今回はこのquery_postsを使って、
投稿記事をあんなこといいな、できたらいいな♪しちゃおう!
というテーマでお送りします。
query_postsとは通常のループによる表示方法を指定できるものです。
基本形は以下の通りです。
<?php query_posts( 引数 ); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
[/xml]
このquery_postsはループをあらわしているわけではないので、これだけあってもエラーになります。
「引数」の部分に色々なパラメーターをつけていくわけです。
では実際に色んな場合でパラメーターを入れていってみましょう。
<?php query_posts( category_name=スラッグ ); ?>
[/xml]
カテゴリーのスラッグを入れると、そのカテゴリーのみの表示になります。
例えば、あるカテゴリーに関するページ内に記事を表示させたい場合などに使えそうですね。
※「cat=カテゴリーナンバー」でもOK
<?php query_posts( showposts=3 ); ?>
[/xml]
showposts=のあとに、表示させたい記事の数を入れます。
例の場合では記事が3つ表示されます。
<?php query_posts( order=asc ); ?>
[/xml]
最新の記事ほど上のほうに表示されますが、
記事を古い順から表示させたい場合は order=asc を使用します。
ごく一部ですがパラメーターを紹介してみましたが、
実際1つだけ設定したいということってあんまりないと思うんです。
「特定のカテゴリーの記事を5件表示したい」とか
「古い順から3件表示したい」とか、たいていの場合は合わせ技になります。
そういう場合は各パラメーターを「&」でつないであげます。
例えば、カテゴリーがcategory1の記事を5件表示させたい場合は
以下のようになります。
<?php query_posts( category_name=category1&showposts=3 ); ?>
[/xml]
ただし、条件に該当する記事が大量にある場合、
次のページを表示させようとしても、うまく表示できないことがあります。
その場合は「$query_string」を引数の先頭におき、続く引数を「&」から始めるようにします。
<?php query_posts($query_string . "&cat=2"); ?>
[/xml]
使う頻度の高いquery_posts。
自分のお好みに合わせて便利に使ってみてください(。^-^。)ノ