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