透2018/8/72018/12/4query_postsを使うと投稿ページなどで表示する条件を設定することができます。このquery_postsを使うことは非推奨とされています。query_postsを使うことは非推奨なのでしょうか?この記事では、query_postsについてといった基本的な内容から、注意すべき点についても解説していきます。今回はquery_postsについて、わかりやすく解説します。まとめquery_postsとは?query_postsは、WordPressで投稿を表示するのに使用しているメインクエリを書き換えるテンプレートタグです。メインクエリとは、ブラウザからリクエストされたURLを元にデータベースから呼び出される記事のデータのことです。query_postsはメインクエリを新たに上書きします。表示する投稿を絞り込む場合などに使います。query_postsの使い方query_postsを使う際には最後にwp_reset_queryでリセットし、メインクエリを元に戻す必要があります。サンプルコードで確認しましょう。?>より複雑な条件を設定することもできます。設定でよく使う内容をコードスニペットにまとめたサイトをご紹介しておきます。https://sole-color-blog.com/blog/265/query_postsは非推奨?代替方法は?ここまでquery_postsについて説明してきました。query_postsは条件を絞って表示するためにメインクエリを書き換えることができます。wp_reset_queryの記述を忘れると、他のページのクエリも書き換わるなどの意図しない結果が表示される危険性もあるため非推奨とされています。メインクエリを書き換える際に再度データベースを読み込む必要があるのでページの表示速度が遅くなります。そこで、query_postsの代わりにメインループではpre_get_postsを、サブループではWP_Queryまたはget_postsを使うことが強く推奨されています。pre_get_postspre_get_postsはWordPressのアクションフックの一つです。アクションフックでは、イベントが発生したときに機能を追加したり削除したりできます。pre_get_postsはメインループで使います。pre_get_postsはfunction.phpに記述します。サンプルコードで確認しましょう。);他のページでpre_get_postsが働かないようにif文で限定するようにしましょう。WP_QueryWP_Queryはブログの投稿やページの情報を取得する場合に使うクラスです。WP_Queryはメインクエリを書き換えません。メインクエリを表示するメインループとは別にサブループで投稿一覧などを表示するために使います。?>WP_Queryについてはこちらでも詳しく解説していますので、ぜひ参考にしてください。2018年12月4日get_postsget_postsはブログの投稿やページの情報を取得する場合に使うテンプレートタグです。WP_Queryクラスと同じように、メインループとは別にサブループで投稿一覧などを表示するために使います。WP_Queryの場合はオブジェクトとして扱えるのでプロパティなども使えますが、get_postsは取得結果を配列としてしか扱えません。?>まとめここではquery_postsについて説明しました。query_postsは投稿ページなどで条件を絞って表示することができます。メインクエリを書き換えるので、wp_reset_query関数を呼び出さなければ他のページのクエリも変更するなど意図しない結果になる危険性があるので非推奨とされています。メインクエリを変更するならpre_get_postsを、サブループで条件を指定する場合はWP_Queryやget_postsを使うようにしましょう。使いこなすことができるように、この記事を何度も参考にして下さいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。お問合せはこちらでも受け付けています。