Contare gli Articoli Visualizzati

A volte si può avere la necessità di conoscere il numero dei post che viene visualizzato in una certa pagina del nostro blog, magari perché vogliamo inserire un banner dopo il primo post, oppure semplicemente visualizzare un messaggio del tipo Questa pagina contiene X Articoli.

Quanti Articoli ci sono?

Spesso il numero degli articoli visualizzati non corrisponde necessariamente al numero che abbiamo impostato nelle Opzioni di Lettura nell'Amministrazione (Opzioni -> Lettura), perché il numero dei post scritti magari è minore o maggiore. Facciamo un esempio:

Ho scritto 34 post, nelle Opzioni->Lettura ho impostato la visualizzazione di 10 post per volta. La Home Page visualizza quindi 10 post alla volta, con i link "Precedenti" e "Successivi", per un totale di 3 pagine con 10 post ciascuna, più l'ultima che ne visualizza 4. Ora, come faccio a sapere che in quella pagina ci sono solo 4 post?

Per conoscere il numero dei post visualizzati nella pagina basta scrivere

 $quanti_post = count($posts);

subito dopo la riga

 if (have_posts()) :

La variabile $quanti_post contiene il numero degli articoli che verranno visualizzati e può essere quindi usata per scrivere un messaggio del tipo: Questa pagina contiene X Articoli tramite questo codice

 <?php
 if (have_posts()) :
 $quanti_post = count($posts);
 ?>
 <p>Questa pagina contiene <?php echo $quanti_post; ?> Articoli.</p>

Si noti che tale codice va inserito prima che cominci il Loop.

Inserire del codice dopo un certo articolo

Se invece volessimo inserire un banner, un messaggio, o qualunque altro codice HTML o PHP che sia, dopo il primo articolo, possiamo agire in questo modo:

Inseriamo tra le righe

 <?php if (have_posts()) : ?>

e

 <?php while (have_posts()) : the_post(); ?>

la riga

 <?php $nr_post = 0; ?>

Poi inseriamo il nostro codice personalizzato, facendo prima un controllo del post che viene visualizzato, in questo modo

 <?php if ($nr_post == 1 ) : ?>
 <p>CODICE HTML PERSONALIZZATO</p>
 <?php endif; ?>
 <?php $nr_post ++; ?>

 <?php endwhile; ?> 

In questo modo, la riga <p>CODICE HTML PERSONALIZZATO</p> verrà visualizzata solo dopo la visualizzazione del primo articolo presente nella pagina. E' ovvio che al posto di <p>CODICE HTML PERSONALIZZATO</p> si può mettere quello che si vuole, un codice Adsense, un'immagine personalizzata, oppure anche del codice PHP. Se si volesse invece visualizzare del contenuto dopo il 5° articolo, è sufficiente cambiare la riga <?php if ($nr_post == 1 ) : ?> con <?php if ($nr_post == 5 ) : ?>.

Ultima modifica il 17/08/2006 ore 04:03