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
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