L’utilizzo di un plugin per questo procedimento potrebbe sembrare la soluzione migliore.
Purtroppo, la maggior parte delle volte, non è affatto così.
Quando si installa un plugin infatti, si installano anche tutti i file (.js, .css, etc.) che generano sia il back-end che il front-end di quest’ultimo (nel caso in cui ne possegga uno).
Piccola nota: se ancora non lo hai fatto ti consiglio di visualizzare la data dell’ultimo aggiornamento sui tuoi post. Questo farà capire all’utente che i tuoi contenuti sono aggiornati.
Questo causa solitamente due complicazioni:
- Poca possibilità di personalizzazione: Se vogliamo modificare un plugin, per esempio tramite stile CSS, saremmo costretti a forzare un nuovo stile.
- Peggiore velocità di caricamento del sito: Alcuni file del plugin potrebbero “pesare” eccessivamente rallentando il caricamento del nostro sito.
Prima di iniziare, ecco un esempio della mia sezione degli articoli popolari creati con lo stesso meccanismo spiegato in questo articolo.
Creare la funzione per il conteggio delle visualizzazioni dei post
La prima cosa che dobbiamo fare è creare una funzione che rilevi il conteggio delle visualizzazioni dei post e lo memorizzi come un campo personalizzato per ogni post.
Per fare ciò, incolla il seguente codice nel file functions.php del tuo tema.
function nometema_set_post_views($postID) {
$count_key = 'nometema_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
//Per mantenere il conteggio accurato, eliminiamo il prefetch
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Ora che hai questa funzione, dobbiamo chiamarla nella pagina di ogni singolo articolo.
In questo modo, ogni volta che un utente visita un articolo, la funzione viene chiamata e il contatore di visualizzazioni aumenta di uno.
Quindi incolla il seguente codice all’interno del loop che dovrebbe trovarsi (a seconda del tema utilizzato) nel file single.php:
nometema_set_post_views(get_the_ID());
Ora puoi visualizzare il numero di visualizzazioni di ogni singolo post o ordinare i post in base al conteggio delle visualizzazioni.
Approfondiamo questo argomento e vediamo come fare alcune di queste cose.
Visualizzare il conteggio delle visualizzazioni dei singoli post
Se si desidera visualizzare il conteggio delle visualizzazioni dei post nelle pagine dei singoli articoli non devi far altro che inserire quanto segue nel file functions.php:
function nometema_get_post_views($postID){
$count_key = 'nometema_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 Visualizzazioni";
}
return $count.' Visualizzazioni';
}
Poi aggiungi il seguente codice all’interno del loop degli articoli nella giusta posizione in cui vuoi mostrare il numero delle visualizzazioni.
nometema_get_post_views(get_the_ID());
Ordinare articoli in base alle visualizzazioni dei singoli post
Se desideri ordinare i post in base al conteggio delle visualizzazioni puoi invece utilizzare il seguente codice:
<?php
$popularpost = new WP_Query( array( 'posts_per_page' => 4, 'meta_key' => 'nometema_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();
the_title();
endwhile;
?>
Per aggiungere altri parametri WP_query come l’intervallo di tempo puoi fare riferimento alla pagina developer di WordPress inerente a WP_query.
Conclusioni
Siamo giunti alla fine di questo articolo e spero di averti aiutato a raggiungere il tuo obiettivo.
Ora che hai implementato tutto questo sistema puoi andare ancora oltre creando un infinite scroll rendendo così il tuo blog molto più reattivo.
È andato storto qualcosa? Contattami tramite chat (in basso a destra) o qui sotto nei commenti e sarò felice di risponderti il prima possibile.
Un abbraccio,
Matteo.