WordPressプラグインに日毎のPVを表示する機能を追加しました。
1. add_menuを追加
自作のカスタムプラグインを使っています。
今回は、そのプラグインに機能を追加します。
まず、新しいサブメニューページを chiilabo_stats_admin_menu関数内のadd_menu_page関数の引数に追加しました。
add_submenu_page(
'chiilabo-stats', // 親メニューのスラッグ
'日別PV',
'日別PV',
'edit_posts',
'daily-pageviews',
'daily_pageviews_display',
4
);
daily-pageviewsがページのスラッグ(URLみたいなもの)で、daily_pageviews_displayが表示されたときに実行される関数です。
2. 表示関数を定義する
あとは、daily_pageviews_display関数を定義するだけ。
この関数内でデータベースからデータを取得して表示します。
function daily_pageviews_display() {
global $wpdb;
$table_name = ACCESSES_TABLE_NAME;
$query = "
SELECT DATE(date) as date, SUM(count) as pv
FROM $table_name
GROUP BY DATE(date)
ORDER BY date DESC
";
$results = $wpdb->get_results($query);
echo '<table>';
echo '<thead><tr>';
echo '<th>日付</th>';
echo '<th>PV</th>';
echo '</tr></thead>';
echo '<tbody>';
foreach ( $results as $row ) {
echo '<tr>';
echo '<td>' . $row->date . '</td>';
echo '<td align="right">' . number_format_i18n($row->pv) . '</td>';
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
}
この関数では、CocoonテーマのACCESSES_TABLE_NAMEテーブルから日付ごとのPVを集計し、最新の日付が上になるように取得しています。
あとは、取得したデータをテーブル形式で表示します。
これで新しいサブメニュー「日別PV」をクリックすると、日毎のPVが表示されます。
必要に応じて、表示するデータの期間を限定したり、ページネーションを追加したりするなど、さらに機能を拡張することができます。
こちらもどうぞ。
WordPressカスタムプラグインのタイムアウトを避ける(mixhost)
カスタムプラグインでサイトの統計情報を分析しているのですが、時々タイムアウトで動かなくなってしまうんです。 そこで、cPanelのMultiPHP INIエディタを使って、max_execution_timeの設定を変更してみました。 これで、プラグインが途中で止まらずに済むようになりました。 カスタムプラグインの動作が安定しない カスタムプラグインでサイト統計情報を分析しています。 ところが、最近 そのプラグインの統計ページが動かないときがあります。ページの再読み込みすると...
[WordPress] 投稿月でグループ分けした月別PV集計表を見るためのカスタムプラグインを作った【ChatGPTと】
一ヶ月分のブログ公開がどれぐらいのページビューにつながっているのか、集計する自分用のWordPressプラグインを作成しました。 自分にとっては未経験の分野でしたが、対話型AI「ChatGPT」に相談してみると、使える叩き台を用意してくれました。 WordPressプラグインづくりははじめてでしたが、かなりの時間短縮。無事に完成しました。 アクセス集計プラグイン 一ヶ月分のブログ公開が、どれぐらいの成果になっているのか知りたいことがあります。 これまでは、Google Ana...
QRコード生成APIをGoogleからqrserver.comに変更した
ついに GoogleAPIsのQRコード生成APIが終了していたので、QR code generator(goqr.me)のAPIに変更しました。 変更前: ' . $url 変更後: ' . urlencode($url) 前提: $url = get_the_permalink(); URLをURLエンコードするのがポイントです。 QRコードが表示されていない? このサイトの記事を印刷すると、その記事のQRコードが印刷されるように設定しています。 ところが、久しぶりに印刷...
QRコードを読み込むと、関連記事を確認できます。