cum să interoghezi mai multe categorii în WordPress?

6 oct. 2014, 12:44:04
Vizualizări: 14.9K
Voturi: 2

Încerc să interoghez mai multe categorii în WordPress dar fără succes, nu văd nimic greșit în codul meu.

Mai jos este codul meu:

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
Comentarii

Problema cu această întrebare este că nu clarifici dacă vrei postări în oricare categorie sau dacă trebuie să fie în ambele categorii.

Nora McDougall-Collins Nora McDougall-Collins
5 iul. 2023 22:28:10
Toate răspunsurile la întrebare 2
2

Folosește astfel

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

sau

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

e în regulă, primul funcționează

Jono Jono
6 oct. 2014 13:10:03

dacă răspunsul meu te-a ajutat, te rog să îl accepți ca răspuns prin apăsarea simbolului bifă

Zammuuz Zammuuz
6 oct. 2014 13:13:27
1

În primul rând, niciodată nu folosi query_posts

Notă: Această funcție nu este destinată să fie folosită de plugin-uri sau teme. După cum se explică mai jos, există opțiuni mai bune și mai performante pentru a modifica interogarea principală. query_posts() este o modalitate prea simplistă și problematică de a modifica interogarea principală a unei pagini prin înlocuirea acesteia cu o nouă instanță a interogării. Este ineficientă (rulează din nou interogările SQL) și va eșua în anumite circumstanțe (în special atunci când vine vorba de paginarea postărilor).

Ar trebui să folosești WP_Query pentru a crea interogări personalizate

În al doilea rând, problema ta este parametrul posts_per_page. Acesta este setat la 1. Asta înseamnă că va fi recuperat un singur post, care va proveni fie din categoria 1, fie din categoria 5, în funcție de care postare este mai nouă între cele două categorii. Trebuie să crești valoarea 1 pentru a prelua mai multe postări, setează 1 la -1 pentru a prelua toate postările din aceste două categorii.

De asemenea, poți elimina parametrul posts_per_page și să îl înlocuiești cu nopaging=true pentru a prelua toate postările.

6 oct. 2014 13:15:40
Comentarii

Acesta ar trebui să fie răspunsul acceptat, după părerea mea. Evitați folosirea query_posts.

Olivier Olivier
13 ian. 2023 17:13:03