web-dev-qa-db-ja.com

照会変数を保管してからwp_reset_queryを使用する

(特定のカテゴリから投稿を取得するために)カスタム投稿クエリでページ区切り機能を使用したいです。私のページ付け関数はglobal $wp_query;からクエリを取得します

したがって、次のコードでは、元の$ wp_queryを一時変数に代入し、クエリの後に代入しました。最後に、クエリをリセットするためにwp_reset_query()関数を使いました。

それで私の質問は、最初に元の$wp_queryを保存してからそれを代入してからクエリをリセットすることは意味があるということですか?クエリをリセットしているのであれば、それは不要ではありませんか?私はこのアプローチについて記事で読んだので質問をしています、そして私はこれについて確信がありません。

$temp_query = $wp_query; //#1. store original wp_query
$args = array(
    'cat' => 15,
    'paged' => $paged
);  
$wp_query = new WP_Query( $args );

while ( $wp_query -> have_posts() ) : $wp_query -> the_post();

endwhile;

my_pagination();    //call function

$wp_query = $temp_query;    //#2. assign back original wp_query

wp_reset_query();   //#3. reset query
1
jay

wp_reset_query(); は、ページの元のメインクエリにクエリをリセットします。

したがって、クエリを別の変数に格納することは冗長で不要です。

更新されたコード

$args = array(
    'cat' => 15,
    'paged' => $paged
);  
$custom_query = new WP_Query( $args );

while ($custom_query -> have_posts()) : $custom_query -> the_post();
endwhile;

my_pagination();    //call function
wp_reset_query();   //#3. reset query
2
Jacob Raccuia