WordPressのWP_Queryを使って記事一覧を表示する方法

こんにちは!フリーランスの長野です。

WP_Queryって使っていますか?

WP_Queryを使うと指定した投稿の情報をまとめて取得することができます。

条件を絞って取得することもできます。

この記事では、WP_Queryについて

  • WP_Queryとは?
  • WP_Queryの使い方

といった基本的な内容から、

  • 件数を取得する方法
  • カスタムフィールドで絞り込む方法
  • カスタムタクソノミーの投稿を絞り込み

など具体的な内容についても解説していきます。

今回はWP_Queryについて、わかりやすく解説します。

WP_Queryとは?

WP_Queryとは、WordPressでブログの投稿やページの情報を取得する場合に使うクラスです。

メインループとは別にサブループを作りたいときによく使います。

メインループとは投稿や固定ページなどのページタイトルや本文の内容を表示するためのループのことです。

この他に例えば投稿一覧などを表示するためにはサブループを使います。

このサブループを作りたいときにWP_Queryクラスをよく使います。

WP_Queryクラスには、表示する投稿があるかどうかを判断するhave_postsメソッドや、ループ内で次の投稿に進むthe_postメソッドなどが用意されています。

また、コンストラクタの引数を指定することで取得する投稿の情報を絞り込むことができます。

WP_Queryの使い方

Wp_Queryの一般的な使い方をみていきましょう。

newキーワードを使ってインスタンスを生成し、クエリを定義します。

このときWP_Queryのコンストラクタに引数を指定すると取得する情報を絞り込むことができます。

have_postsメソッドを使って表示する投稿があるかどうか判断し、投稿があれば該当する投稿の数だけwhileループで処理を繰り返します。

whileループ内ではthe_postメソッドを使って次の投稿に進みます

以下が簡単な例になります。

件数を取得する方法

WP_Queryクラスには、投稿の件数を取得するpost_countプロパティや、全件数を取得するfound_postsプロパティが用意されています。

使い方の例は以下のとおりです。

こうすると、「全50件中、10件を表示」のように出力することができます。

カスタムフィールドで絞り込む方法

それでは、WP_Queryのコンストラクタの引数で取得する情報を絞り込む方法についてみていきましょう。

まずはカスタムフィールドで絞り込む方法です。

カスタムタクソノミーの投稿を絞り込み

カスタムタクソノミーの投稿を絞り込む方法についてもみていきましょう。

よく使うコードスニペット

ここまでWP_Queryの使い方について説明してきました。

最後にWP_Queryのコンストラクタの引数の設定でよく使う内容をコードスニペットにまとめたサイトをご紹介しておきます。

https://sole-color-blog.com/blog/265/

また、WP_Queryについてこちらで詳しく解説しています。

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query

まとめ

ここではWP_Queryについて説明しました。

WP_Queryクラスを使うと指定した投稿の情報をまとめて取得することができます。

条件を絞って取得することもできます。

使いこなすことができるように、この記事を何度も参考にして下さいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説