WordPress
Messaggi di ricerca
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
- Parametri dell'autore
- Parametri di categoria
- Parametri Tag
- Parametri di tassonomia
- Cerca parametro
- Posta e parametri della pagina
- Parametri della password
- Digitare i parametri
- Parametri di stato
- Parametri di impaginazione
- Ordina e ordina i parametri
- Data Parametri
- Parametri di campo personalizzati
- Parametri di autorizzazione
- Parametri di tipo Mime
- Parametri di memorizzazione nella cache
- Parametro dei campi di restituzione
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 () .