Promuovi il tuo sito 468x60

Article

by Kiko
on 09 October 2009
in Tutorial

No Comments Add Comment

Ultimo aggiornamento: 09 October 2009

Come mostrare i numeri di WordPress

Durante lo sviluppo di un tema per WordPress capita sovente di aver bisogno di alcune piccole utili statistiche. Ad esempio il numero totale di post pubblicati. Oppure quante categorie l’autore sta usando. E ancora quanti tag, quanti commenti. Molti propongono come soluzione il ricorso a query. Dobbiamo in qualche modo eseguire il collegamento al database e lanciare un’interrogazione. Esercizio per nulla semplice, ma complicazione del tutto inutile. Perchè non ricorrere a funzioni già preconfezionate?

Un piccolo esempio d’uso delle funzioni sotto proposte lo potete vedere qui a fianco, nella sidebar ed esattamente nella sezione di ricerca.

WordPress mette a disposizione dello sviluppatore il set di funzioni che hanno in comune il prefisso wp_count_. Il set che a noi interessa è allora il seguente:

  • wp_count_posts('posts')
  • wp_count_terms('category')
  • wp_count_terms('post_tag')
  • get_comment_count()

Trovare il numero totale degli articoli

Supponiamo allora di voler mostrare il numero totale degli articoli pubblicati. Per comodità vi consiglio di creare delle piccole funzioni che poi possiamo richiamare liberamente e comodamente in ogni punto dei nostri temi. Il posto migliore dove riunire queste funzioni è il file functions.php. Ricorriamo allora ad un codice simile:

	function get_total_posts() {

		$___posts = wp_count_posts('post');            

		return $___posts->publish;

	}

Commentiamo quel poco che c’è da commentare. Secondo una mia personalissima convenzione amo chiamare tutti gli oggetti che uso in modo indiscriminato anteponendo al loro nome tre caratteri di undescore. Facili da cercare, facili da riconoscere proprio visivamente. La funzione ci restituisce un oggetto dal quale preleviamo il numero di post effettivamente pubblicati, quindi scartando i draft. In realtà il parametro post potrebbe essere anche omesso, in quanto parametro di default, ma per leggibilità io preferisco sempre inserirlo.

Se vogliamo viceversa fare il conteggio degli articoli in bozza allora modifichiamo leggermente il codice:

	function get_total_drafts() {

		$___posts = wp_count_posts('post');            

		return $___posts->draft;

	}

In questo modo è possibile richiamare le due funzioni come segue:

        echo get_total_posts();
        echo get_total_drafts();

Trovare il numero di categorie e il numero di tag

In modo del tutto analogo presentiamo brevemente il codice per recuperare il numero delle categorie e il numero dei tag:

	function get_total_categories() {

		$___cats  = wp_count_terms('category');

		return $___cats;	

	}

	function get_total_tags() {

		$___tags  = wp_count_terms('post_tag');

		return $___tags;		

	}

La chiamata delle due funzioni avviene nel modo canonico. In più vi propongo una semplice funzione che ho scritto per conoscere il numero di articoli pubblicati in una determinata categoria:

	function get_posts_in_category($cat) {

		$___catid = get_cat_id($cat);

		$___catobj = get_category($___catid);

		return $___catobj->category_count;

	}

Da notare che il parametro che passate alla funzione è esattamente il nome della categoria di cui volete conoscere il conteggio degli articoli, senza perciò passare dal recupero dell’ID.

Trovare il numero di commenti

Ultima funzione. Recuperiamo il numero di commenti registrati nel nostro blog:

	function get_total_comments() {

		$___comm  = get_comment_count();                                             

		return $___comm['approved'];

	}

Dall’array possiamo estrarre i seguenti valori:

  • awaiting_moderation per i commenti in attesa di moderazione;
  • spam per il totale dei commenti spam;
  • tot per recuperare il numero totale dei commenti (informazione sulla cui utilità ho qualche dubbio).

Per consultare la documentazione ufficiale vi rimando al seguente link. Suggerimenti per migliorare il codice o per velocizzarlo? Alternative alle funzioni proposte?

DiggThis

Ti è piaciuto l'articolo? Iscriviti al feed o seguimi via twitter. Controlla la presenza di altri interessanti articoli nelle categorie Tutorial o condividi il contenuto con gli altri:

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Design Float
  • DZone
  • email
  • FriendFeed
  • LinkedIn
  • PDF
  • Reddit
  • RSS
  • Segnalo
  • Slashdot
  • StumbleUpon
  • Technorati
  • Tumblr
  • Twitter
  • Upnews
  • Wikio
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Wikio IT

0 Comments

No comments yet. Leave a comment!

Leave a comment

Featured

Categories

Most Viewed

Publications

Upcoming

  • Non sto lavorando a nessun articolo

Last articles in Sideblog

on 19 July 2010

Lavorare con Docbook su Mac OS X: piccoli consigli

Lavorare agilmente con Docbook su un sistema Mac? Banale. Io generalmente uso un approccio di questo tipo, che facilita il lavoro e richiede davvero conoscenze elementari. Via con lo step: scaricare i fogli XSL di Docbook a questo indirizzo; scompattarli in una directory. Se prevedete di usarli su più account nello stesso sistema (e, convenientemente, preferite questa [...]

on 26 May 2010

A List Apart presenta

Due articoli niente male, fra i più interessanti del 2010. Almeno questa è la mia personale opinione su quanto pubblicato in A List Apart. Il primo dei due articoli esplora il tema dello user testing proponendo tre semplici metodi di analisi. Un buon lavoro, anche facile da comprendere. Il secondo invece è incentrato sul web design. [...]

on 11 May 2010

Di nuovo online

Dopo un parto lungo eccomi di nuovo online. Tra laboratorio per la tesi, ultime materie da preparare, trasloco offline (casa) e trasloco online (cambio hosting), dovrebbe essere tutto pronto per lavorare con tranquillità. Ho trascurato questo blog perché altri lavori richiedevano quel poco di tempo rimasto. Infostrada se l’è cavata piuttosto bene, lasciandomi fuori dalla [...]

on 15 March 2010

Convertire un visitatore in un utente: il design dei bottoni

Convertire un visitatore in un utente è l’obiettivo massimo. Per utente si intende in questa sede un utente registrato che può significare tante cose in relazione a contesti differenti. Uno sviluppatore o un designer deve porsi, di fronte tale obiettivo, in modo pro-attivo: deve cioè innescare il processo di transizione da visitatore a utente e [...]

→ View all articles in Sideblog

Twitter Update

Blogroll

Follow me

Francesco Corsentino .net is powered by WordPress | Design by Kiko