Obține numărul postărilor din bucla curentă când folosești interogări multiple pe o pagină
Încerc să obțin numărul postărilor din interiorul unei bucle. Folosesc bucle multiple pe o singură pagină în tema mea. Până acum am:
$my_post_count = $wp_query->post_count;
Dar când afișez $my_post_count, îmi returnează numărul tuturor postărilor din site-ul meu WP. Ar putea avea legătură cu faptul că folosesc interogări multiple pe o singură pagină? Am încercat să folosesc wp_reset_query după fiecare buclă pentru a mă asigura că nu stric lucrurile în acest fel. Ce fac greșit?
$wp_query conține bucla principală a paginii și nu ar trebui folosit pentru a crea bucle multiple.
Dacă folosești un nou obiect WP_Query, atunci variabila care îl conține va avea numărul corespunzător:
$my_query = new WP_Query();
// operații
$count = $my_query->post_count;
Dacă folosești get_posts(), atunci obiectul WP_Query nu este accesibil și ar trebui să numeri setul returnat:
$posts = get_posts();
$count = count($posts);
Cred că post_count este stocat în global, așa că înainte de bucla personalizată ar trebui să îl setezi la 0, deoarece îl poți folosi în afara buclei, dar asta depinde de cum îți structurezi interogările multiple, poate le poți adăuga la postarea ta?
Există o altă metodă pe care o folosesc în cadrul buclei care numără postările folosind current_post + 1, de exemplu.
<?php $my_query = new WP_Query();?>
<?php if ($my_query->have_posts()) :while ($my_query->have_posts()) : $my_query->the_post();
$count_posts = $my_query->current_post + 1; //numara postarile in bucla
endwhile;?>