WordPressのSQliteでアクセス数を確認する方法

ベイブ
ベイブ

ワードプレス、PHP8、SQLite、Cocoonの環境下の投稿一覧画面にて、アクセス数を集計する方法を解説します。

 

SQliteでも最新ワードプレスとPHP8.xで稼働可能

詳しくは、以下を参照してください。

WordpressでSQliteが使えない理由と対応策
レンタルサーバーではMySQLの制限がありワードプレスの利用を諦めている方はいませんか?それを救うのがsqliteです。 ワードプレス本体での公式対応されたかもしれない、内容も解説します。

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

コメント