web-dev-qa-db-fra.com

Stockage de la variable de requête, puis utilisation de wp_reset_query

Je souhaite utiliser une fonction de pagination avec une requête de publication personnalisée (pour obtenir des publications d'une catégorie spécifique). Ma fonction de pagination obtient la requête de global $wp_query;

Donc, dans le code suivant, j'ai assigné l'original $ wp_query à une variable temporaire et après la requête que j'ai attribuée en retour. Enfin, j'ai utilisé la fonction wp_reset_query() pour réinitialiser la requête.

Ma question est donc la suivante: cela a-t-il un sens de stocker d'abord le $wp_query d'origine puis de le réassigner puis de réinitialiser la requête? Si nous réinitialisons la requête, cela n’est-il pas inutile? Je pose la question parce que j'ai lu à propos de cette approche dans un article et je ne suis pas sûr à ce sujet.

$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 (); réinitialise la requête à la requête principale d'origine de la page.

Par conséquent, le stockage de la requête dans une autre variable est redondant et inutile.

Code mis à jour:

$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