web-dev-qa-db-ja.com

サイト上のすべてのページの閲覧数を取得し、その(増加する)数をDashboard Widgetに追加する方法

私は実際にはコードを持っていませんが、私はWordPressサイトのすべてのページのページビューを取得しようとしています(そして最新表示するたびにページビューの数が増えます)。私はそれがまた欲しいと思うので私はダッシュボードウィジェットにその増加する数を出力することができました。ちょっと複雑なコードを想像するでしょうが、どこから始めればいいのかわかりません。

1
NikV

プラグインなしでページビュー数を生成できます。あなたがする必要があるのは、各投稿のための投稿メタキーを(もちろん自動的に)作成し、各投稿/ページのロードまたは訪問の際にこの投稿メタキーのカウンターを増やすことです。

つまり、投稿ごとに投稿メタキーpost_views_countを作成し、各ページ/投稿の読み込みでこの関数を呼び出すと、投稿数が1つ増えます。

// 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 );
    }
}

今度はsingle.phppage.phpからこの関数を呼び出す必要があります。これをこれらのページに貼り付けるだけです。 W3 Total Cache または同様のキャッシュプラグインを使用している場合は、ページが読み込まれるたびに関数が確実に呼び出されるように、フラグメントキャッシュを使用する必要があります。

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

これにより、投稿/ページビューが設定され、訪問ごとにカウンターが1ずつ増えます。

Adminカラムに投稿ビューを追加したいのであれば、このように投稿ビューのカラムを追加することができます。

// 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() );
    }
}

それでおしまい。投稿ビューを設定する関数を呼び出すsingle.phppage.phpのコードを除いて、これらすべての関数はfunctions.phpファイルに入ります。

1
Robert hue

サイトの統計と人気のある投稿/ページを閲覧数とともに表示するプラグインがたくさんあります。

  • WordPress.com によるJetpack - Nice site statisticsモジュールを持っています

そして他にもあります...

それらのほとんどはあなたも基本的な情報を見ることができるところから短いstatビューダッシュボードウィジェットを提供します。

0
Mayeenul Islam