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黎明期から行われてきた悪しき犯罪。 これらと日々戦 …
-
-
海外テーマで文字化け回避したいの巻
テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …
-
-
カスタム投稿を使うときのメモメモφ(..)
カスタム投稿タイプとは 通常の「投稿」「固定ページ」等とは違うタイプの投稿方法。 …
-
-
ページ転送したい時に「Redirection」!
ワードプレスの記事で、「別ページに即座に飛んで欲しい」とか、「このページ見せたく …
-
-
category.php内で現在のカテゴリを取得する
カテゴリの取得でハマったので忘備録しておきます。 いつもはget_the_cat …
-
-
WordPress HTTPSでリダイレクト
毎度おなじみ自分用の忘備録でございます。 まず前提条件として、「WordPres …
-
-
マルチサイト化でよくあること・・・参加サイトに表示されない!
WordPressでマルチサイト化すると、左上の「参加サイト」にマウスオーバーし …
-
-
GravatarでWordPressのアバターを作ろう
最近物忘れがヒドイ、だいすけです。 テーレッテレー!! ついこの前、ワードプレス …
-
-
プラグイン無しで外部サイトのRSSを表示するRSSリーダー的なもの
外部RSS(ブログの新着記事)を読み込む案件があったので「プラグインでええよなー …