【wordpress カスタマイズ】トップページの投稿一覧を指定のカテゴリのみにするのは一行加えるだけ

最終更新日

一行だけ加えて投稿一覧を指定のカテゴリのみにする方法

wordpressで投稿一覧を表示する際に、特定のカテゴリのみの投稿一覧を出力したい時があるかと思います。

これが実は非常に簡潔な方法で、実現させることができます。

 

query_posts();

を利用することで、非常にシンプルに変更が可能です。

 

それでは方法を見てきましょう。

 

テーマエディターから記事一覧を構成するファイルを編集する

phpが全く読めない人にとっては、少し難しいかもしれないのですが、wodpressの場合は記事一覧を構成するファイルはいくつかに限られています。

 

メインページの場合、多くはメインインデックスファイル、もしくはhome.phpファイルの場合が多いです。

またカテゴリ一覧や、タグ一覧で出力されるファイルの場合は、archive.phpが大体の場合使用されます。

 

その中で、記事一覧を出力するコードは、ほぼこの様なコードになります。

if ( have_posts() ) :
while ( have_posts() ) : the_post();

こちらの意味は、投稿が存在すれば、存在する投稿を一つずつ出力していきますよ、という感じです。

 

ファイルの中で、このコードを見つけると、ここが投稿一覧を出力しているコードだとわかるので、こちらを目印に今回のテーマ”特定のカテゴリの投稿一覧を出力する”コードを挿入します。

 

特定のカテゴリの投稿一覧を出力するコード

このコードは意外とシンプルでなんと1行で済みます。

query_posts("cat=3&showposts=5");

こちらの1行のみです。

 

こちらをどこに設置するかが、ポイントなのですが

このコードの意味するところは、文字通りで”投稿に対する指示”です。

上で、紹介したこちらのコード

if ( have_posts() ) :
while ( have_posts() ) : the_post();

はコードがあれば、それを出力するという意味なので、

query_posts();

はこれより以前に書く必要があります。

直前に書く場合が多いので、この様な形になります。

query_posts("cat=3");


if ( have_posts() ) :
while ( have_posts() ) : the_post();
.
.
.
.

query_postsでカテゴリを指定する

上の例でも書いていますが、query_postsでカテゴリを指定する際には

query_posts("cat=3");

この様な書き方になります。

 

カテゴリIDが5の時は、

query_posts("cat=5");

となります。

 

カテゴリの色々な指定方法

カテゴリを複数指定する時は、

query_posts("cat=5,6");

の様にコンマで仕切れば複数指定ができます。

また除外する場合、

query_posts("cat=5,6,-10");

といった様に数字の前に ーをつけます。

1行でかけてかなり便利ですよね。

 

query_postsでカテゴリ以外も指定ができる

カテゴリの指定だけでも細かな指定ができかなり便利なのですが、それ以外にも色々な投稿の指定ができます。

SQLを簡単に書いている様な感じですね。。

タグ、著者、日時、ページに表示する投稿数などなど、、

 

それぞれ書き方も全て異なるので、もし必要な方はぜひ調べてみてください。

 

まとめ

今回は、query_posts();の使い方についてご紹介しました。

カテゴリを指定して、投稿一覧を出力することが多いと思いますが、それ以外にもタグや時間など色々な条件指定もできるので、是非必要な方はお使いください。

sasurai

旅と写真を愛する人。 web制作の仕事をしています。 写真も撮ります。お仕事のお問い合わせはお気軽に。

シェアする

Translate »