Buscar..


Sintaxis

  • $ the_query = new WP_Query ($ args);
  • $ posts_array = get_posts ($ args);

Parámetros

Parámetro Descripción
$ args (matriz) Una matriz de argumentos necesarios para una consulta: puede personalizarse según sus necesidades, por ejemplo, consultar publicaciones de una sola categoría, desde el tipo de publicación personalizada o incluso consultar cierta taxonomía.

Observaciones

Los argumentos de consulta son numerosos. La página de códice WP_Query () tiene una lista de parámetros. Algunos de ellos son

Una de las cosas más importantes a tener en cuenta es:

Nunca use query_posts ()

query_posts() anula la consulta principal y puede causar problemas en el resto de su tema. Cada vez que necesite modificar la consulta principal (o cualquier consulta para esa materia) es usar el filtro pre_get_posts . Esto le permitirá modificar la consulta antes de que se ejecute.

Además, cuando consulta las publicaciones, siempre debe restablecerlo con wp_reset_postdata () . Esto restaurará la variable $post global del bucle de consulta principal, y no tendrá ningún problema más adelante (como las categorías que se excluyen, porque en su bucle secundario las ha excluido y se olvidó de restablecer la consulta).

Usando el objeto WP_Query ()

Crear una instancia separada del objeto WP_Query es fácil:

$query_args = array(
                'post_type' => 'post',
                'post_per_page' => 10
            ); 

$my_query = new WP_Query($query_args);

if( $my_query->have_posts() ):
    while( $my_query->have_posts() ): $my_query->the_post();
       //My custom query loop
    endwhile;
endif;

wp_reset_postdata();

Tenga en cuenta que debe crear la matriz de argumentos de consulta según su especificación. Para más detalles, mira la página de códice WP_Query .

Usando get_posts ()

get_posts() es un contenedor para una instancia separada de un objeto WP_Query . El valor devuelto es una matriz de objeto de publicación.

global $post;

$args = array(
    'numberposts' => 5,
    'offset'=> 1,
    'category' => 1
);

$myposts = get_posts( $args );

foreach( $myposts as $post ) :
    setup_postdata($post); ?>
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php endforeach;
wp_reset_postdata(); ?>

Para obtener más información, consulte la página de códice get_posts () .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow