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で複数のループを使ってカスタム投稿一覧を自在に表示する方法
関連記事
-
各固定ページのページデザインをテンプレート選択で可能にする方法
よく使うのに忘れてしまうのでまた忘備録がわりに・・・。 【ネタ元:はじめてのWo …
-
Instant WordPress入れてみる
Instant WordPressという、ネット上のサーバーではなくローカルPC …
-
海外テーマで文字化け回避したいの巻
テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …
-
WordPressで会員サイト的なものを作りたい
WordPressで会員サイト的なものを作る と言う題目で幾つか記事があったんで …
-
Gist、いいね!
コード見せたいンゴ・・・ WordPressのことでよくコードをお見せする機会が …
-
WordPressで自動ログアウトを
本当に自分のための覚え書きになっている当ブログです。こんにちは。 自動ログアウト …
-
マルチサイト引越し時の注意
マルチサイト引越の手順でひっかかったので忘備録。 引越し先のWordPressイ …
-
WordPressで記事のカルーセルスライダー(jQuery的なスライドショー)
WordPressがそれなりにいじれると分かってから、嫁様の私への”こき使いっぷ …
-
マルチサイトで複数のブログの新着情報を取得したい
WordPressでマルチサイトの新着情報を取りたいなーと思うことがあったのでメ …
-
WordPressで記事ごとに簡単リダイレクト「Page Links To」
WordPressの記事を別ページに置き換えたくなるときってありませんか? たと …