「WP Most Popular」というPVを集計する
プラグインを使って1ヶ月のランキングを
作りたいと思っております。
ただし条件として、毎月1日スタートで
月末締めで集計。
翌月1日から新たに、計測開始としたい。
「WP Most Popular」でも
過去1ヶ月分の集計項目がありますが
それですと、今日からの過去1ヶ月なので
1日スタートはできない。
月初めから月末までの期間は
できるのでしょうか?
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
月初めから月末までの期間はできるのでしょうか?
「WP Most Popular」の標準の機能では無理そうですが、
専用のテーブル($wpdb->most_popular)にはアクセスされた日毎のPV数が登録されているので、
SQLとWordPressのデータベースの扱い方がわかれば可能だと思います。
参考
関数リファレンス/wpdb Class - WordPress Codex 日本語版
###コード例追記(2016/12/11)
実用にはたえないので、ご参考までにというレベルですが、
「WP Most Popular」のPV数を月ごとに集計、表示するショートコードを作りました。
[mycount year=2016 month=10]
PHP
1function my_most_popular_count($atts) { 2 3 extract(shortcode_atts(array( 4 'year' => 2016, 5 'month' => 12, 6 ), $atts)); 7 8 // most_popularテーブルから該当の年月を含むデータを取得 9 global $wpdb; 10 $tablename = $wpdb->prefix . 'most_popular'; 11 $date_ym = date('Y-m', strtotime("{$year}-{$month}")); 12 13 $results = $wpdb->get_results("SELECT post_id, raw_stats FROM {$tablename} WHERE raw_stats LIKE '%{$date_ym}%'"); 14 15 if( !empty($results) ) { 16 // データがあったら 17 $list = array(); 18 19 // 各投稿の指定月のPV数を集計 20 foreach($results as $result) { 21 $data = unserialize($result->raw_stats); 22 23 $val = 0; 24 for( $day=1; $day<=31; $day++ ) { 25 $date_ymd = date('Y-m-d', strtotime("{$date_ym}-{$day}")); 26 27 $val += $data["{$date_ymd}"]; 28 } 29 30 $list[$result->post_id] = $val; 31 } 32 33 // 結果をtableで整形 34 foreach($list as $key=>$val) { 35 $ret .= '<tr><td>' . $key . '</td><td>' . $val . '</td></tr>'; 36 } 37 38 $ret = '<table><tr><th>投稿ID</th><th>PV数</th></tr>' . $ret . '</table>'; 39 } 40 else { 41 // データがなかったら 42 $ret = 'no data<br>'; 43 } 44 45 return $ret; 46} 47 48add_shortcode('mycount', 'my_most_popular_count');
ただ、「WP Most Popular」プラグインは最終更新が一年前なので、個人的には使用はおすすめしません。
投稿2016/12/10 11:31
編集2016/12/11 07:59退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/12 03:39
退会済みユーザー
2016/12/12 06:34
2016/12/12 07:32