マジカルスリー・だいすけのなりゆき長者ブログ

沖縄/大阪WEB広告・ホームページ制作・印刷物制作 マジカルスリー 「福」代表のブログ

*

WordPressで記事を取得、ループしたいときに-その2

      2016/09/22

Pocket

WordPressで記事を取得したいんだけど・・・

WordPressで記事を取得したい初心者の方のため&ど忘れしちゃった初・中級者(私含む)の為にこの記事を残しておこうと思います。

まずはソースから。

  1. get_posts
  2. WP_Query
  3. 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で複数のループを使ってカスタム投稿一覧を自在に表示する方法

 - WordPressの事 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

カスタム投稿を使うときのメモメモφ(..)

カスタム投稿タイプとは 通常の「投稿」「固定ページ」等とは違うタイプの投稿方法。 …

WordPressの検索欄が未入力で全件表示してしまう件

間違えて空欄で検索した時に全件表示・・・。 バグでもエラーでもないんですがなんか …

NextGEN Gallery2.2 日本語化

ここに日本語化ファイルがあるのでダウンロードします。 NextGEN Galle …

ページ転送したい時に「Redirection」!

ワードプレスの記事で、「別ページに即座に飛んで欲しい」とか、「このページ見せたく …

続・WordPress 不正アクセスとの飽くなき戦い

WordPressへの不正アクセスと引き続き戦う、だいすけです。こんにチワワ! …

カスタムフィールドの値をURL指定して記事をソートする

WordPressは記事ソートや抽出が中々優秀でして、URLから指定してあげるこ …

外部画像URLもアイキャッチに「Featured Image From URL」

外部画像URLをアイキャッチに出来るプラグインを発見したのでご紹介。 Featu …

WordPressで記事ごとに簡単リダイレクト「Page Links To」

WordPressの記事を別ページに置き換えたくなるときってありませんか? たと …

各固定ページのページデザインをテンプレート選択で可能にする方法

よく使うのに忘れてしまうのでまた忘備録がわりに・・・。 【ネタ元:はじめてのWo …

get_postsの初期値が5件だった件

もう、表題のとおりなんですが忘備録。 WordPressのget_postsの初 …