【ブログ】投稿一覧にアクセス数を表示させる方法【SWELL対応】

ブログストック
悩みを抱える方

投稿一覧に「日・月・週・全」のアクセス数を表示させたい場合、どうやって設定すればいいんだろう…

 以上の悩みを解決します。
 

◆本記事の内容

・投稿一覧に「日・月・週・全」のView数を表示させる方法

haya

こんにちはハヤです。5年目のブロガーです。ブログのテーマはSWELLを利用しています。

2026年5月9日時点では、今回紹介する方法で対応可能です。

ただし、今後のテーマやプラグイン環境、WordPressの仕様変更などによっては正常に動作しない場合がありますので、あらかじめご了承ください。

それでは、どうぞ。

この記事の流れ

具体的方法

投稿一覧に「日・月・週・全」のView数を表示させる手順を紹介します。

①プラグインのインストール

「Code Snippets」プラグインをインストール・有効化

補足:「Code Snippets」は、WordPressの functions.php を安全に簡単管理できる便利ツールです。コードの追加・ON/OFF切替・管理が初心者でも簡単にできます。

②コードの入力

スニペット>新規追加>ファンクションを選択

入力・選択項目

・スニペットの編集(タイトル)→例「PVの確認用」と入力
・Snippet Content       →以下のコードをコピペ
・コピペ後「保存」と「Save and activate」をクリック

function set_post_views($postID) {
$count_keys = ['post_views_count', 'post_daily_views_count', 'post_weekly_views_count', 'post_monthly_views_count'];
foreach ($count_keys as $count_key) {
$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);
}
}
}

function track_post_views($post_id) {
if (!is_single()) return;
if (empty($post_id)) {
global $post;
$post_id = $post->ID;
}
set_post_views($post_id);
}
add_action('wp_head', 'track_post_views');

// リセット用のスケジュールイベントを作成
if (!wp_next_scheduled('reset_daily_views')) {
wp_schedule_event(time(), 'daily', 'reset_daily_views');
}

if (!wp_next_scheduled('reset_weekly_views')) {
wp_schedule_event(time(), 'weekly', 'reset_weekly_views');
}

if (!wp_next_scheduled('reset_monthly_views')) {
wp_schedule_event(time(), 'monthly', 'reset_monthly_views');
}

// 日ごとのPV数リセット
add_action('reset_daily_views', 'reset_daily_views_count');
function reset_daily_views_count() {
global $wpdb;
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '0' WHERE meta_key = 'post_daily_views_count'");
}

// 週ごとのPV数リセット
add_action('reset_weekly_views', 'reset_weekly_views_count');
function reset_weekly_views_count() {
global $wpdb;
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '0' WHERE meta_key = 'post_weekly_views_count'");
}

// 月ごとのPV数リセット
add_action('reset_monthly_views', 'reset_monthly_views_count');
function reset_monthly_views_count() {
global $wpdb;
$wpdb->query("UPDATE $wpdb->postmeta SET meta_value = '0' WHERE meta_key = 'post_monthly_views_count'");
}

// 管理画面にカラムを追加
add_filter('manage_posts_columns', function($columns){
$columns['view'] = 'View';
return $columns;
});

// カラムにPV数を表示
add_action('manage_posts_custom_column', function($column_name, $post_id){
if ($column_name == 'view') {
$daily_views = get_post_meta($post_id, 'post_daily_views_count', true);
$weekly_views = get_post_meta($post_id, 'post_weekly_views_count', true);
$monthly_views = get_post_meta($post_id, 'post_monthly_views_count', true);
$total_views = get_post_meta($post_id, 'post_views_count', true);

    echo '日:' . ($daily_views ? $daily_views : '0');
    echo '<br />';
    echo '週:' . ($weekly_views ? $weekly_views : '0');
    echo '<br />';
    echo '月:' . ($monthly_views ? $monthly_views : '0');
    echo '<br />';
    echo '全:' . ($total_views ? $total_views : '0');
}

}, 10, 2);

// ウィークリーとマンスリーのスケジュールを追加
add_filter('cron_schedules', 'custom_cron_schedules');
function custom_cron_schedules($schedules) {
$schedules['weekly'] = array(
'interval' => 604800,
'display' => ('Once Weekly') ); $schedules['monthly'] = array( 'interval' => 2592000, 'display' => ('Once Monthly')
);
return $schedules;
}

これで設定は完了。

③設定の反映を確認

投稿一覧の画面右側に「View」項目が追加されかつ「日・週・月・全」が表示されれば完了

有効化直後は「0」です。
数字が増えない場合は、別端末やシークレットモードで投稿表示を試してください。

まとめ

今回は、投稿一覧に「日・月・週・全」のView数を表示する方法を紹介しました。

これで、Googleコンソールを開かなくてもWordPress内でView数を確認できるようになりました。

というわけで今回は以上です。

※この記事にはアフィリエイトリンクが含まれており、ご利用していただいた場合に小額の報酬を得ることがあります。

関連記事

🎉達成記事📝

よく読まれる記事

この記事の流れ