WordPress: ¿Cómo obtengo todas las publicaciones de $wp_query en los resultados de búsqueda?

1 minuto de lectura

avatar de usuario
caio mar

Debo tener muerte cerebral, no puedo entender cómo obtener TODAS las publicaciones del $wp_query para que pueda crear un filtro de widget para los resultados de búsqueda.

$wp_query->posts solo me da las publicaciones que se mostrarán en la lista, así que, si posts_per_page está configurado en 10, solo obtengo 10 publicaciones. Los necesito todos para poder ordenarlos y mostrar un filtro basado en todas las publicaciones de los resultados de búsqueda.

¿Algunas ideas?

avatar de usuario
Gajendra Singh

Establezca el parámetro posts_per_page en args en -1, esto devolverá todas las publicaciones de la tabla wp_posts. por ejemplo

$args = array(
    'posts_per_page'   => -1,
    'post_type'        => 'post',
);
$the_query = new WP_Query( $args );

Ahora puede recorrer y obtener publicaciones

while ( $the_query->have_posts() ) {
  // go ahead
}

  • Sí, pero eso mostrará todas las publicaciones en la página. Quiero mantener la paginación. Pero también quiero poder tener filtros para los resultados.

    – Caio Mar

    29 mayo 2015 a las 14:33

  • Pero no puede hacer esto con el mismo WP_Query. Debe configurar WP_Query por separado para esto.

    – Gajendra Singh

    30 de mayo de 2015 a las 12:19

Muestra un filtro basado en todas las publicaciones de los resultados de búsqueda.

     <?php

    /*pass your search string here example like this ( 's'=>'test' ) */
   $args=array('s'=>'test','order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page'));

   $query=new WP_Query($args);

    if( $query->have_posts()): 

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

     {
     echo $post->post_title;
     echo $post->post_content;
     }

    endwhile; 
    else:
    endif;
  ?>

¿Ha sido útil esta solución?