Numărarea articolelor dintr-un loop personalizat WordPress (WP_Query)?
Am încercat să pun următorul cod:
<?php $count = count($custom_posts); ?>
<h2><?php echo $count; ?></h2>
la sfârșitul buclei:
<?php if ( bbp_get_forum_title() == 'Test Forum 1' ) : ?>
<?php $custom_posts = new WP_Query(); ?>
<?php $custom_posts->query('post_type=blocks&location=Business and Finance&order=DESC'); ?>
<?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
<div class="ad">
<?php the_content(); ?>
</div>
<?php $count = count($custom_posts); ?>
<h2><?php echo $count; ?></h2>
<?php endwhile; ?>
<?php endif; ?>
Dar în loc să obțin numărul total de articole, primesc această ieșire:
Traducere 1
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim 1
Aveți sugestii pentru a rezolva această problemă?

Modul corect de a obține numărul total de articole este:
<?php $count = $custom_posts->found_posts; ?>
http://codex.wordpress.org/Class_Reference/WP_Query#Properties
Modificare: Recunoscând răspunsul lui @Kresimir Pendic ca fiind probabil corect. post_count
reprezintă numărul de articole pentru pagina respectivă, în timp ce found_posts
reprezintă numărul total de articole care îndeplinesc cerințele interogării, fără paginare. Mulțumesc pentru corecție.

Mulțumesc! Încă o ultimă întrebare. Cum pot folosi acel număr pentru a face o instrucțiune if care este în afara buclei (înaintea buclei)? Pentru că se pare că numărul este afișat doar când plasez variabila după acea buclă.

Poți pune $count = $custom_posts->post_count imediat după $custom_posts->query(). Reține că $custom_posts->post_count îți oferă doar numărul de rezultate din acea 'pagină' a setului de rezultate. Dacă ai nevoie să obții numărul total de rezultate din 'întregul' set de rezultate, folosește $custom_posts->found_posts.

Acest răspuns cel mai probabil nu este corect pentru majoritatea situațiilor. Folosește found_posts (toate postările găsite) în loc de post_count (numărul de postări de afișat pe această pagină). Acest comentariu este redundant din punct de vedere logic, dar nu și din punct de vedere social.

Acest răspuns este incorect. $custom_posts->post_count
va returna numărul de articole afișate pe această pagină, deci va afișa fie valoarea posts_per_page
din interogare, fie o valoare mai mică dacă numărul rămas de afișat este mai mic.
răspunsul corect ar trebui să fie cel al lui <@kresimir-pendic>
care folosește $custom_posts->found_posts

De asemenea, confirm că acesta este răspunsul corect. Acesta ar trebui să fie acceptat.

Pot confirma confirmarea că acest răspuns este de fapt adevărat. La fel este și re-confirmarea

În confirmarea confirmării celei mai recente confirmări am determinat că confirmarea originală este într-adevăr confirmată, la fel ca și confirmarea de după aceea.
