btmup Blog

Web 制作のことを中心に、ちょっとした Tips などを掲載しています。「自分用メモ」が基本スタンス。

WordPress

query_posts() で指定した条件をクリアする方法

投稿日:

データベースからコンテンツを取得するときに、その条件などを指定する「query_posts()」。
非常に便利、というか「使わないとやってられん」的な超定番関数です。

この query_posts()、一度指定した条件はその後のループでも引き継がれます。
それはそれで使いやすいときもあるのですが、「異なるカテゴリーの記事一覧を同一ページに表示」なんてときには逆に困ってしまいます。
ループごとに別の条件を指定しても上書きはしてくれないようで、最悪の場合、表示すらしてくれません。
(例えば、メインコンテンツ部分に新しくループを入れて query_posts() で条件を指定したら、その前まで表示できていたサイドバーのリストが消えてしまったりします ← 体験談)

そこで、ループごとに新しく条件を指定できるように、前のループで指定した条件をクリアする必要があります。
その方法は意外と単純で、以下の一文を追加するだけ。

<?php query_posts($query_string); ?>

この一文を、クリアしたいループの後、もしくは次のループの前(要するにループとループの間のどこか)に記述することで、query_posts() の条件をクリアすることができます。

$query_string」とは、ページごとの標準の条件が入った変数ですので、クリアというより「デフォルトに戻す」という表現の方が正確かも知れません。

参考サイト







-WordPress
-, ,

執筆者:


  1. […] 参考:query_posts() で指定した条件をクリアする方法 […]

  2. […] 参考サイトquery_posts() で指定した条件をクリアする方法 | btmup Blog […]

  3. […] るとちゃんとis_homeがtrueになります。そこでなんとかクエリを元に戻す方法はないかと調べてみると”query_posts() で指定した条件をクリアする方法”こちらで解決法が書かれていました。 […]

  4. mineno より:

    wp_reset_query();
    でカスタムループのクエリをリセットできますよ.

comment

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

関連記事

no image

query_posts() を設定すると「WP-PageNavi」プラグインが正常に動作しなくなる件の解決法

アーカイブページが複数に分割されているとき、WordPress 標準の機能だけでは「次のページへ»」とか「«Prev」と表示するくらいしかできません。 しかし、「WP-Page …

no image

WordPressの記事を複製できるプラグイン – 「Duplicate Post」

最近になってWordPressをCMS的に使う仕事が増えてきており、単純なテキストだけの記事の方が少なくなってきました。 そのため、「この記事(ページ)をコピーできたらなぁ……」と思う場面によく直面し …

no image

WordPress のビジュアルエディタにテーブル(表組み)の追加・編集機能を付ける方法。

WordPress に標準で付いているビジュアルエディタには、テーブルの編集機能はありません。 既存のテーブルをいじったりすることはもちろん、新規に追加することすら不可。 HTML でガシガシ組める人 …

no image

WordPress を安全に使いたければ今すぐ 2.8.4 へアップデートを!

btmup 関連のサイトに使ってる WordPress のバージョンを、2.8.4 に上げました。 何だか今回のバージョンアップはこれまでのものと趣が違ってますね。 WordPress 公式ブログの記 …

no image

ファーストサーバにWordPressをインストールする方法(というか準備)

マニュアルに載っているような一般的な内容は省略して、「文字化け対策」とその周辺の情報に焦点を絞ってまとめてみます。 »WordPressのインストール方法 諸々のバージョンやら WordP …