• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/wp reset query

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

wp_reset_query() は $wp_query とグローバルな投稿データを元のメインクエリのものに復帰させます。query_posts() をどうしても使わなければならない場合、その後にこの関数を呼び出すべきです。

重要:下記の例で説明するように、pre_get_posts アクションの使用を強く推奨します。これはクエリが実行される前にクエリのパラメータを変更することができます。

WP_Queryget_posts() の使用後に wp_reset_query() を呼び出す必要はありません。これらはメインクエリのオブジェクトを変更しないからですが、代わりに wp_reset_postdata() を呼び出してください。

使い方

<?php wp_reset_query(); ?>

パラメータ

この関数にはパラメータがありません。

戻り値

この関数には戻り値がありません。

用例

query_posts() はメインクエリを置き換えてしまうため、利用は推奨されません。どうしても必要な場合にのみ使うようにしてください(query_posts の注意点)。二次的なループには、WP_Query の新しいインスタンスまたは get_posts() を使用してください。メインクエリを修正したい場合は pre_get_posts アクションを利用してください。pre_get_posts アクション用のコードは functions.php ファイルへ記述してください。

カスタムループの後で wp_reset_query() を使う例です。例に出てくるループはメインループに追加して行われることに注意してください。

<?php

$args = array ( 'post_parent' => 5 );
query_posts( $args );  // この呼び出しでメインクエリが上書きされる

if ( have_posts() ):  // カスタムループ開始
    while ( have_posts() ) :
        the_post();

        // 投稿コンテンツの処理
        the_title();
        the_permalink();  // など…

    endwhile;
else:
    // 投稿がない場合のコンテンツやテンプレートの挿入
endif;  // カスタムループ終了

wp_reset_query();  // メインループのクエリへ復帰

?>

変更履歴

ソースファイル

wp_reset_query()wp-includes/query.php にあります。

関連項目

記事

コード・ドキュメンテーション

  • クラス: WP_Query - WP_Query クラスの詳細な全容
  • クラス: WP_Comment_Query - コメント関連のクエリのためのクラス
  • クラス: WP_User_Query - ユーザー関連のクエリのためのクラス
  • オブジェクト: $wpdb - $wpdb オブジェクトの使い方全容
  • 関数: set_query_var()
  • 関数: get_query_var()
  • 関数: query_posts() - 追加のカスタムクエリを作成
  • 関数: get_post() - 項目の ID を取得しデータベース内にあるその投稿のレコードを返す
  • 関数: get_posts() - 投稿の配列を返すことに特化した関数
  • 関数: get_pages() - ページの配列を返すことに特化した関数
  • 関数: have posts() - クエリが投稿を返すか否かを判断する条件関数
  • 関数: the_post() - クエリ後に自動的にループを設定する
  • 関数: rewind_posts() - 現状のループをリセットする
  • 関数: setup_postdata() - ループ内で個別の結果を得るためのクエリデータを設定する
  • 関数: wp_reset_postdata() - 直前のクエリを復元する (通常はループ内の別のループの後に用いられる)
  • 関数: wp_reset_query()
  • 関数: is_main_query() - 変更されるクエリがメインのクエリであることを確認する
  • アクションフック: pre_get_posts - WordPressクエリが実行される前に変更する
  • アクションフック: the_post - post クエリの後で post オブジェクトを変更する
  • フィルターフック: found_posts - WP_Query オブジェクトの found_posts 値を変更する


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/wp reset query最新版との差分