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クラスを使うと指定した投稿の情報をまとめて取得することができます。

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

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

自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

LINEで送る
Pocket

書いた人

長野 透

長野 透

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

おすすめコンテンツ

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

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