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

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

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

  関連記事

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

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

テーマの自動アップデートがイヤな場合は

最近梅の花がとってもきれいに咲いてますね。 春の訪れを感じながら仕事に追われる「 …

アーカイブページでタームごとに記事一覧を出力する

カスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう …

マルチサイトで複数のブログの新着情報を取得したい

WordPressでマルチサイトの新着情報を取りたいなーと思うことがあったのでメ …

海外テーマで文字化け回避したいの巻

テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …

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

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

WordPressでよく使う新着記事表示のコード

ほんとによく使うので覚え書き。 ちなみにマルチサイトをまたがって新着を取得する場 …

新着情報などでAll-in-One Event Calendarのカテゴリ名を表示する方法

ハマりました。 ドハマリしました。侮ってました。 「カテゴリ出力するだけでしょ。 …

WordPressサーバー移転の順序

自分用に備忘録。 FTPで元サイトをローカルにダウンロード PhpMysqlで元 …

WordPress HTTPSでリダイレクト

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