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

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

「関数リファレンス/wp reset query」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(最新版のマージ 151905}}<!-- 12:33, 3 June 2015‎ TJNowell -->)
1行目: 1行目:
 
==説明==
 
==説明==
 
wp_reset_query() は $wp_query とグローバルなポストデータを元のメインクエリーのものに復帰させます。この関数は query_posts() の後で使用されるべきです。
 
wp_reset_query() は $wp_query とグローバルなポストデータを元のメインクエリーのものに復帰させます。この関数は query_posts() の後で使用されるべきです。
 +
 +
, it's heavily encouraged to use the pre_get_posts filter to alter query parameters before the query is made.
 +
 +
Calling wp_reset_query is not necessary after using WP_Query or get_posts as these don't modify the main query object. Instead use [[wp_reset_postdata]] /[[:en:wp_reset_postdata|en]]
 +
  
 
==使い方==
 
==使い方==
13行目: 18行目:
 
==用例==
 
==用例==
 
カスタムループの後で wp_reset_query() を使用している例です。これはメインループに追加してループが行われる場合などです。
 
カスタムループの後で wp_reset_query() を使用している例です。これはメインループに追加してループが行われる場合などです。
 +
 
<pre>
 
<pre>
<?php  
+
<?php
$args = array ( 'post_parent' => 5);
+
 
$custom_query = new WP_Query( $args );
+
$args = array ( 'post_parent' => 5 );
if ( $custom_query->have_posts() ):
+
query_posts( $args );
while ( $custom_query->have_posts() ) :
+
 
$custom_query->the_post();
+
if ( have_posts() ):
//ポストコンテンツの処理
+
    while ( have_posts() ) :
the_title();
+
        the_post();
the_permalink(); //その他処理
+
 
endwhile;
+
        // 投稿コンテンツの処理
 +
        the_title();
 +
        the_permalink(); //その他処理
 +
 
 +
    endwhile;
 
else:
 
else:
//コンテンツ、または、ポストがない場合のテンプレートの挿入
+
    // コンテンツ、または、投稿がない場合のテンプレートの挿入
 
endif;
 
endif;
 +
 
wp_reset_query();
 
wp_reset_query();
 +
 
?>
 
?>
 
</pre>
 
</pre>
  
'''query_posts() はメインクエリーを置き換えてしまうため以下の方法は推奨されません。''どうしても必要な場合にのみ''使うようにしてください([[テンプレートタグ/query posts#注意|query_posts の注意点]])。'''二次的なループには、[[関数リファレンス/WP_Query|WP_Query]] の新しいインスタンス、または、[[テンプレートタグ/get posts|get_posts()]] を使用してください。メインクエリーを修正したい場合は [[プラグイン_API/アクションフック一覧/pre_get_posts|pre_get_posts]] アクションを利用してください。
+
'''query_posts() はメインクエリーを置き換えてしまうため以下の方法は推奨されません。''どうしても必要な場合にのみ''使うようにしてください([[テンプレートタグ/query posts#注意|query_posts の注意点]])。'''二次的なループには、[[関数リファレンス/WP_Query|WP_Query]] の新しいインスタンス、または、[[テンプレートタグ/get posts|get_posts()]] を使用してください。メインクエリーを修正したい場合は [[プラグイン_API/アクションフック一覧/pre_get_posts|pre_get_posts]] アクションを利用してください。Be sure to put your pre_get_posts filtering in your functions.php file.
  
 
<pre>
 
<pre>
46行目: 58行目:
  
 
==更新履歴==
 
==更新履歴==
2.3.0 で導入
+
 
 +
* 新規導入: [[Version 2.3|2.3.0]]
 +
 
  
 
==ソースファイル==
 
==ソースファイル==
53行目: 67行目:
  
 
==関連==
 
==関連==
 +
  
 
{{Query Tags}}
 
{{Query Tags}}
{{原文|Function Reference/wp reset query|129352}}
+
 
 
{{Tag Footer}}
 
{{Tag Footer}}
 +
 +
{{NeedTrans|一部}}
  
 
{{DEFAULTSORT:WP reset query}}
 
{{DEFAULTSORT:WP reset query}}
 +
 +
{{原文|Function Reference/wp reset query|151905}}<!-- 12:33, 3 June 2015‎ TJNowell  -->

2015年7月31日 (金) 13:55時点における版

説明

wp_reset_query() は $wp_query とグローバルなポストデータを元のメインクエリーのものに復帰させます。この関数は query_posts() の後で使用されるべきです。

, it's heavily encouraged to use the pre_get_posts filter to alter query parameters before the query is made.

Calling wp_reset_query is not necessary after using WP_Query or get_posts as these don't modify the main query object. Instead use wp_reset_postdata /en


使い方

<?php wp_reset_query(); ?>

パラメータ

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

戻り値

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

用例

カスタムループの後で 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();

?>

query_posts() はメインクエリーを置き換えてしまうため以下の方法は推奨されません。どうしても必要な場合にのみ使うようにしてください(query_posts の注意点)。二次的なループには、WP_Query の新しいインスタンス、または、get_posts() を使用してください。メインクエリーを修正したい場合は pre_get_posts アクションを利用してください。Be sure to put your pre_get_posts filtering in your functions.php file.

<?php
query_posts( 'post_parent=5' );
if ( have_posts() ) :
	while ( have_posts() ) : the_post();
		?><a href="<?php the_permalink() ?>"><?php the_title() ?></a><br /><?php
	endwhile;
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 値を変更する


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


このページ「関数リファレンス/wp reset query」は一部未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています


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