Icono del sitio Imacreste

Restablecer una consulta en WordPress

A la hora de personalizar una consulta del bucle principal mediante WP_Query o crear una consulta personalizada es conveniente restablecer los datos del bucle para evitar errores en otras páginas, ya que el bucle se usa en todo momento en multitud de sitios.

Para ello es necesario usar la función:

Para corregir este problema incluye la función mencionada después del bucle personalizado.

Ejemplo

<?php

$ejemplo = new WP_Query('posts_per_page=10&orderby=rand');

while ($ejemplo->have_posts()):

$ejemplo->the_post();

the_title('<h1>','</h1>')

endwhile;

wp_reset_postdata();

?>

Al invocar esta función, se restablecerá la variable $post en la entrada actual, eliminando los elementos generados para esta página especifica, y evitando conflictos con el bucle en otras páginas.

2 bucles en una misma página

En ocasiones necesitamos tener 2 bucles en una misma página. El problema es que necesitamos que ambas consultas sean independientes, restableciendo las consultas…. para ello podemos usar la función: rewind_posts(); de la siguiente forma.

$ejemplo = new WP_Query('posts_per_page=10&orderby=rand');

while ($ejemplo->have_posts()):

$ejemplo->the_post();

the_title('<h1>','</h1>')

endwhile;

rewind_posts();

$ejemplo2 = new WP_Query('posts_per_page=5&orderby=title');

while ($ejemplo2->have_posts()):

$ejemplo2->the_post();

the_title('<h1>','</h1>')

endwhile;
Salir de la versión móvil