ホーム >  WordPress >  PV数を表示する方法(プラグインなし)

投稿日:   |  最終更新日:

PV数を表示する方法(プラグインなし)

WordPress

WordPressブログにPV数を表示します。記事が何回開かれてたかカウントするものです。これを利用すれば、人気記事ランキングを作ることもできます。プラグインを使う方法もありますが、自由度を優先するため、コードで再現します。

完成イメージ
wp0002

コード

まず、「function.php」を改造します。そして、記事のPV数を表示した居場所に、PV数を表示するための関数を設置します。詳細は、以下の通りです。

function.php

//PV数をカスタムフィールドに保存
function wpb_set_post_views($postID) {
    $count_key = 'wpb_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);
    }
}
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);


//投稿が閲覧されるたびにカスタムフィールドの値が更新
function wpb_track_post_views ($post_id) {
    if ( !is_single() ) return;
    if ( empty ( $post_id) ) {
        global $post;
        $post_id = $post->ID;    
    }
    wpb_set_post_views($post_id);
}
add_action( 'wp_head', 'wpb_track_post_views');


//PV数取得
function wpb_get_post_views($postID){
    $count_key = 'wpb_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';
}

PV数を表示したい場所

wpb_get_post_views(get_the_ID());

解説

2~14行目

PV数をカスタムフィールドに保存します。

「get_post_meta」は、投稿のカスタムフィールド情報を取得します。もし、カスタムフィールドの値が取得できなければ、「delete_post_meta」でキー(wpb_post_views_count)を持つカスタムフィールドをすべて削除します。そして「add_post_meta」でカスタムフィールドを追加します。

取得できれば、「update_post_meta」でPV数を更新します。

18~26行目

投稿が閲覧されるたびにカスタムフィールドの値を更新します。

投稿のみカウントしますので、「!is_single()」で判定します。

「wpb_set_post_views($post_id);」で、2~14行目の関数を呼び出してPV数を更新します。

カスタムフィールドの更新は、アクションフックにより タグ直前(wp_head)で呼び出します。

30~39行目

PV数を表示します。

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告