web-dev-qa-db-fra.com

Comment obtenir le nombre de vues de chaque page sur le site et ajouter ce nombre (croissant) à Widget Dashboard

Je n'ai pas vraiment de code, mais j'essaie d'obtenir les pages vues de chaque page d'un site WordPress (et à chaque fois que je clique sur l'actualisation, le nombre de pages vues devrait augmenter). Je l’aimerais aussi pour pouvoir afficher ce nombre croissant dans un tableau de bord widget . J'imagine un peu le code complexe, mais je ne sais même pas par où commencer.

1
NikV

Vous pouvez générer le nombre de pages vues sans aucun plugin. Ce que vous devez faire, c'est créer une clé méta de publication pour chaque publication (bien sûr, automatiquement) et augmenter le compteur de cette clé méta de publication à chaque chargement/visite de page/page.

Donc, voici la fonction pour créer une méta clé de publication post_views_count pour chaque publication et l'appel de cette fonction sur chaque chargement de page/publication augmentera le nombre de publications de une.

// Post views function
function wps_set_post_views( $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 );
    }
}

Vous devez maintenant appeler cette fonction depuis single.php et page.php. Il suffit de coller ceci sur ces pages. Si vous utilisez W3 Total Cache ou un plugin de cache similaire, vous devrez utiliser la mise en cache de fragments pour vous assurer que la fonction est appelée à chaque chargement de page.

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

Cela vous permettra d'afficher les pages/pages vues et d'augmenter le compteur d'un à chaque visite.

Maintenant, si vous souhaitez ajouter des vues de publication sur la colonne admin, vous pouvez ajouter une colonne pour les vues de publication de ce type.

// Get post views
function wps_get_post_views( $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.' Views';
}

// Add to admin post column
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'] = __('Views');
    return $defaults;
}
function posts_custom_column_views( $column_name, $id ){
  if ( $column_name === 'post_views' ) {
        echo wps_get_post_views( get_the_ID() );
    }
}

C'est tout. Toutes ces fonctions iront dans le fichier functions.php, à l'exception du code pour single.php et page.php pour appeler la fonction afin de définir les affichages de publication.

1
Robert hue

Il existe de nombreux plugins affichant les statistiques du site ainsi que les publications/pages populaires avec leur nombre de lectures.

Et il y en a d'autres aussi ...

La plupart d'entre eux fournissent même un bref widget de tableau de bord permettant d'afficher les informations de base.

0
Mayeenul Islam