WordPressで記事を取得、ループしたいときに-その2
2016/09/22
WordPressで記事を取得したいんだけど・・・
WordPressで記事を取得したい初心者の方のため&ど忘れしちゃった初・中級者(私含む)の為にこの記事を残しておこうと思います。
まずはソースから。
- get_posts
- WP_Query
- query_posts
代表的なものだけでもこれだけあります。
しかし、本当に主流として使って欲しいのはここの記事に掲載している方法なのです。
こっちを先に見ていただけると嬉しいかもしれません(๑´ڡ`๑)
サブループ用はget_postsとWP_Query
ざっくりとした説明ですが、
get_postsとWP_Queryはほぼ一緒です(乱暴)
WP_Queryのほうが持っている情報が多いらしいのでこっちを使うのが良いでしょう。
そしてこれらは「サブループ」向けです。
サブループはメインループのようにデータ取得部分を省略できないので、明示的にどのデータを取得するかを指定する必要があります。
つまり、通常の記事表示はメインループ、よくある新着記事一覧の小窓(日付とタイトルだけが並んでるようなやつ)などはサブループを使うと良いかもしれません。
あと、自分もハマったのですが・・・固定ページに記事一覧を出したいようなときの事です。
固定ページはメインループ外なので次の項目に書いたpre_get_postが使えません。
そんな時にWP_Query(またはget_posts)を使うと良いと思われます。
メインループとサブループの条件がごっちゃにならないように分けておくのが良いと思います(๑´ڡ`๑)
一方、メインループはpre_get_postとquery_posts
今のところpre_get_post一択だそうです。function.phpに書くのでメンテナンス性がかなり上がります。
詳しくはこちら。
一方、query_postsは厳密に正しく扱わないとページネーションなどが上手く動かない場合があります。
つまり、誤動作覚悟になっちゃうわけです(グローバル変数とリセットに気をつければ大丈夫だそうですが)
しかも公式が「推奨されない」指定しております。使えなくなる事は無さそうですが・・・。
でも、世の中はquery_postsが多数を占めています。参考にしたいあのコードもquery_posts。。。
そんな訳でquery_postsの使い方も覚えておくと良いと思います。ループ直前に直書きなので、ささっと使う分には使い勝手が良いのです。
(大きいプロジェクトになると面倒くさそうですが)
もっと知りたい方はM-HAND様 WordPressで押さえておきたい!get_posts,WP_Query,query_posts の違いと用例へ。
こちらもオススメです。OXYNOTES様 WordPressで複数のループを使ってカスタム投稿一覧を自在に表示する方法
関連記事
-
-
Advanced Custom Fieldsで作ったカスタムフィールドの画像をアイキャッチ画像にする
カスタムフィールドで投稿した画像を自動でアイキャッチ画像にしたかったのですが、A …
-
-
WordPressの検索機能をもっと使いやすくする
とってもわかりやすい記事がありましたので紹介! WEBクリエイターズボックス様 …
-
-
Gist、いいね!
コード見せたいンゴ・・・ WordPressのことでよくコードをお見せする機会が …
-
-
海外テーマで文字化け回避したいの巻
テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …
-
-
ワードプレスのサイト引越し時に500エラー
毎度おなじみのワードプレス備忘録です。 表題の通り、よくある(よくあってほしくな …
-
-
WordPressの管理画面が重くなったら(WPML使用サイト向け)
はっきりとした原因は不明なのですが、WPMLを入れていたWordpressサイト …
-
-
月別アーカイブページでカテゴリ指定
月別アーカイブページでカテゴリ指定したい・・・ でも、query_postsやW …
-
-
WordPressで記事ごとに簡単リダイレクト「Page Links To」
WordPressの記事を別ページに置き換えたくなるときってありませんか? たと …
-
-
カスタムフィールドの出力(テンプレート作成)について
表題の通り覚え書き。 テンプレートを作る。page.phpなどを元にしてテンプレ …
-
-
WordPressのページを印刷しようとするとスタイルが崩れる
WordPressのページを印刷しようとするとガタ崩れする時があると思います。 …
