Contare i post di un loop WordPress personalizzato (WP_Query)?
Ho provato a inserire questo:
<?php $count = count($custom_posts); ?>
<h2><?php echo $count; ?></h2>
alla fine del loop:
<?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; ?>
Ma invece del totale dei post, ottengo questo output:
Traduzione 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
Qualche suggerimento per risolvere questo problema?

Il modo corretto per ottenere il numero totale dei post è:
<?php $count = $custom_posts->found_posts; // Ottiene il numero totale dei post ?>
http://codex.wordpress.org/Class_Reference/WP_Query#Properties
Modifica: riconoscendo la risposta di @Kresimir Pendic come probabilmente corretta. post_count
è il conteggio dei post per quella particolare pagina, mentre found_posts
è il conteggio di tutti i post disponibili che soddisfano i requisiti della query senza paginazione. Grazie per la correzione.

Grazie! Ehi un'ultima domanda. Come posso usare quel numero per creare un'istruzione if che sia fuori da quel ciclo (prima del ciclo)? Perché sembra che il numero venga visualizzato solo quando posiziono la variabile dopo quel ciclo.

Puoi inserire il $count = $custom_posts->post_count subito dopo $custom_posts->query(). Nota che $custom_posts->post_count ti restituisce solo il numero di risultati in quella 'pagina' del set di risultati. Se hai bisogno di ottenere il numero totale di risultati nell'intero set di risultati, usa $custom_posts->found_posts.

Questa risposta molto probabilmente non è corretta per la maggior parte delle situazioni. Usa found_posts (tutti i post trovati) invece di post_count (numero di post da visualizzare in questa pagina). Questo commento è logicamente ridondante, ma non dal punto di vista sociale.

Questa risposta è errata. $custom_posts->post_count
restituirà la quantità di post mostrati in questa pagina, quindi mostrerà il valore di posts_per_page
della query oppure un valore inferiore se la quantità rimanente da mostrare è minore.
La risposta corretta dovrebbe essere quella di <@kresimir-pendic>
che usa $custom_posts->found_posts

Confermo anche io che questa è la risposta corretta. Questa dovrebbe essere accettata.

Posso confermare la conferma che questa risposta è effettivamente vera. Come anche la ri-conferma

Nel confermare la conferma della più recente conferma ho determinato che la conferma originale è effettivamente confermata, così come la conferma successiva a quella.
