Salta al contenuto principale

Mostrare articoli popolari per visualizzazioni su WordPress senza plugin

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…

Matteo Feduzi
Matteo Feduzi
Pubblicato il
Mostrare articoli popolari per visualizzazioni su WordPress senza plugin

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);
Al posto di “nometema” inserisci il nome del tuo tema.

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.

Continua a leggere

Come visualizzare un sito prima di pubblicarlo
Sito Web

Come visualizzare un sito prima di pubblicarlo

Quante volte ti sarà capitato di dover cambiare hosting perché avevi dei dubbi sulla sicurezza di quest’ultimo o…

Leggi l’articolo
Escludere utenti admin dal tracciamento su GA4
Analisi dei dati

Escludere utenti admin dal tracciamento su GA4

Quante volte ti sei ritrovato con un aumento incredibile delle visite su Google Analytics per poi scoprire che…

Leggi l’articolo
Come recuperare le Pagine e il Business Manager di Facebook
Meta

Come recuperare le Pagine e il Business Manager di Facebook

Era giugno del 2022 quando per via di un problema al mio account personale su Facebook relativo all’OTP…

Leggi l’articolo

C’è un problema che questo articolo non risolve?

Scrivimi il problema che hai davanti. Se è una cosa che so fare te lo dico subito. Se non lo è, ti dico anche quello.