come interrogare più categorie in WordPress?

6 ott 2014, 12:44:04
Visualizzazioni: 14.9K
Voti: 2

Sto cercando di interrogare più categorie in WordPress ma senza successo, non vedo nulla di sbagliato nel mio codice.

Ecco il mio codice qui sotto:

query_posts('posts_per_page=1&cat=5,1');

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

  get_template_part('loop', 'single-home');

endwhile;
1
Commenti

Il problema con questa domanda è che non chiarisci se vuoi i post in una delle due categorie o che debbano essere in entrambe le categorie.

Nora McDougall-Collins Nora McDougall-Collins
5 lug 2023 22:28:10
Tutte le risposte alla domanda 2
2

Utilizza in questo modo

query_posts( array( 'category__in' => array(5,1), 'posts_per_page' => 1, 'orderby' => 'title', 'order' => 'ASC' ) );

oppure

$my_query = new WP_query(array('category__and' => array(5,1))); 
while ($my_query->have_posts()) : $my_query->the_post(); 
6 ott 2014 12:50:53
Commenti

va bene il primo funziona

Jono Jono
6 ott 2014 13:10:03

se la mia risposta ti è stata utile, per favore accettala come soluzione cliccando sul simbolo del segno di spunta

Zammuuz Zammuuz
6 ott 2014 13:13:27
1

Prima di tutto, non utilizzare mai query_posts

Nota: Questa funzione non è pensata per essere utilizzata da plugin o temi. Come spiegato in seguito, ci sono opzioni migliori e più performanti per modificare la query principale. query_posts() è un modo eccessivamente semplicistico e problematico per modificare la query principale di una pagina sostituendola con una nuova istanza della query. È inefficiente (ri-esegue le query SQL) e fallirà completamente in alcune circostanze (specialmente spesso quando si ha a che fare con l'impaginazione dei post).

Dovresti invece utilizzare WP_Query per creare query personalizzate

In secondo luogo, il tuo problema è il parametro posts_per_page. Questo è impostato a 1. Ciò significa che verrà recuperato un post che proverrà dalla categoria 1 o 5, a seconda di quale post sia il più recente tra le due categorie. Devi aumentare 1 per recuperare più post, imposta 1 a -1 per recuperare tutti i post da queste due categorie.

Puoi anche rimuovere il parametro posts_per_page e sostituirlo con nopaging=true per recuperare tutti i post.

6 ott 2014 13:15:40
Commenti

Questa dovrebbe essere la risposta accettata, secondo me. Evita di usare query_posts.

Olivier Olivier
13 gen 2023 17:13:03