Ricerca…


Sintassi

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

Parametri

Parametro Descrizione
$ args (array) Un array di argomenti necessari per una query può essere personalizzato su misura per le tue esigenze, ad esempio interrogare i post di una sola categoria, dal tipo di post personalizzato o anche interrogare determinate tassonomie

Osservazioni

Gli argomenti di query sono numerosi. La pagina del codice WP_Query () ha un elenco di parametri. Alcuni di loro sono

Una delle cose più importanti da tenere a mente è:

Non utilizzare mai query_posts ()

query_posts() sovrascrive la query principale e può causare problemi nel resto del tema. Ogni volta che è necessario modificare la query principale (o qualsiasi altra query) è necessario utilizzare il filtro pre_get_posts . Ciò ti consentirà di modificare la query prima dell'esecuzione.

Anche quando stai interrogando i post, dovresti sempre resettarlo usando wp_reset_postdata () . Ciò ripristinerà la variabile globale $post del ciclo di query principale e non avrai più problemi in seguito (come le categorie escluse, perché nel tuo ciclo secondario le hai escluse e hai dimenticato di reimpostare la query).

Usando l'oggetto WP_Query ()

La creazione di un'istanza separata dell'oggetto WP_Query è semplice:

$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();

Si noti che è necessario creare l'array di argomenti della query sulla specifica. Per maggiori dettagli, guarda la pagina del codice WP_Query .

Utilizzando get_posts ()

get_posts() è un wrapper per un'istanza separata di un oggetto WP_Query . Il valore restituito è una matrice di oggetto post.

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(); ?>

Per maggiori informazioni consulta la pagina del codice get_posts () .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow