Installare wordpress passo passo
Con questo semplice hack potremo visualizzare quanti accessi ha avuto un determinato articolo nel nostro blog sia nel front-end che in area Amministrazione. La semplicità dello script ha però un limite e cioè quello di conteggiare le visite ad ogni accesso pagina o refresh dell’utente per cui non si possono considerare visite uniche ma totali di pagina.

Installiamo lo script

Andremo ad aggiungere come al solito alcune righe di codice in functions.php, file che trovi nella cartella del tuo tema:

// funzione che mostra il numero di visite nei post.
function getPostViews($postID){
    $count_key = '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 View";
    }
    return $count.' Visite';
}

// funzione che conteggia le visite.
function setPostViews($postID) {
    $count_key = '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);
    }
}

Ora andiamo ad inserire all’interno del loop nel file single.php il richiamo alla funzione di conteggio visite:

<?php setPostViews(get_the_ID()); ?>

Sempre nel nostro file in una posizione che ci sembra più congeniale inseriamo il richiamo alla funzione per la visualizzazione del numero di visite:

<?php echo getPostViews(get_the_ID()); ?>

Aggiungere la colonna visite in Amministrazione Articoli

Se vogliamo controllare le visite anche lato Admin, in una colonna nella pagina di tutti gli Articoli basterà aggiungere sempre in functions.php questo codice:

add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
    $defaults['post_views'] = __('Visite');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
	if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}

Alla prossima!