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

沖縄/大阪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

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

  関連記事

All-in-One Event Calendarでエラー「イベントの取得中に何かがうまくいきませんでした。」

使い慣れないプラグインは変なことが起こるのでびっくりデスよ。 表題のエラーが起こ …

別ページのカスタムフィールドの値を取りたいときー

トップページにカスタムフィールドの値を出したい時ってありますよね? そんな時は固 …

Gist、いいね!

コード見せたいンゴ・・・ WordPressのことでよくコードをお見せする機会が …

「パスワードは、記号を含むか、20 文字以上でなければなりません。」で苦しんだ話

ワードプレスのユーザーを追加する際、パスワードを設定するんですが、ここでつまづい …

マルチサイト引越し時の注意

マルチサイト引越の手順でひっかかったので忘備録。 引越し先のWordPressイ …

GravatarでWordPressのアバターを作ろう

最近物忘れがヒドイ、だいすけです。 テーレッテレー!! ついこの前、ワードプレス …

Limit Login Attempts Reloadedとしてヤツが帰ってきた件

かんたん優秀なセキュリティ、「Limit Login Attempts」 Lim …

WordPress HTTPSでリダイレクト

毎度おなじみ自分用の忘備録でございます。 まず前提条件として、「WordPres …

WordPressで自動ログアウトを

本当に自分のための覚え書きになっている当ブログです。こんにちは。 自動ログアウト …

マルチサイト化でよくあること・・・参加サイトに表示されない!

WordPressでマルチサイト化すると、左上の「参加サイト」にマウスオーバーし …