
ワードプレス、PHP8、SQLite、Cocoonの環境下の投稿一覧画面にて、アクセス数を集計する方法を解説します。
SQliteでも最新ワードプレスとPHP8.xで稼働可能
詳しくは、以下を参照してください。

SQLiteでは動かない機能が多い
MySQLのDBを前提としているため、SQLiteでは動かないケースがあります。
COCOONで使えない機能
人気テーマの「COCOON」実装機能を利用すれば、ほぼ有名なプラグインを追加せず、実現できる機能が多く、利用されている方も多いでしょう。
しかし、投稿一覧の「PV」機能がゼロカウントのままとなり、機能しません。
投稿一覧でアクセス数を実現する方法
function.phpの仕組みや追加の仕方については、省略しています。
このコードにより、「日別・週別・月別」のアクセス数をカウントできます。
このアクセス数を確認することで、不人気・人気ページの把握と適切な記事更新に繋げることができるでしょう。
function.phpへ追加するコード
// 閲覧数を集計する
function get_views_summary($post_id, $period = ‘daily’) {
$start_date = date(‘Y-m-d’);
$end_date = date(‘Y-m-d’);
switch ($period) {
case ‘weekly’:
$start_date = date(‘Y-m-d’, strtotime(‘-1 week’));
break;
case ‘monthly’:
$start_date = date(‘Y-m-d’, strtotime(‘-1 month’));
break;
}
$date_range = new DatePeriod(
new DateTime($start_date),
new DateInterval(‘P1D’),
new DateTime($end_date)
);
$total_views = 0;
foreach ($date_range as $date) {
$views = get_post_meta($post_id, ‘views_’ . $date->format(‘Y-m-d’), true);
$total_views += ($views) ? $views : 0;
}
return $total_views;
}
// 管理画面の投稿一覧に閲覧数のカラムを追加
function add_views_summary_column($columns) {
$columns[‘views_summary’] = ‘Views Summary’;
return $columns;
}
add_filter(‘manage_posts_columns’, ‘add_views_summary_column’);
// カラムの内容を表示する
function display_views_summary_column($column_name, $post_id) {
if ($column_name == ‘views_summary’) {
$daily_views = get_views_summary($post_id, ‘daily’);
$weekly_views = get_views_summary($post_id, ‘weekly’);
$monthly_views = get_views_summary($post_id, ‘monthly’);
echo “Daily: $daily_views<br>Weekly: $weekly_views<br>Monthly: $monthly_views”;
}
}
add_action(‘manage_posts_custom_column’, ‘display_views_summary_column’, 10, 2);
コメント