Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › 管理人のための記事一覧のPV表示の方法を考えました
3件の返信スレッドを表示中
-
投稿者投稿
-
-
2017年5月20日 2:45 PM #52627
Mori
ゲストいつもお世話になっています。
サーバー負荷のために、Popular Postsを使用せずに、Jetpackの統計を使うと、PV取得に時間がかかるというネックに頭を抱えておりまして、今回、試してみたのがこちらです。1.非公開ページを作成してコードを打つ
→ これで管理人のみ閲覧可能
→ Post Snippetsを使用して単独記事でphpを使用
2.そのページで以下のコードを実行すると、PV一覧が見られます<ul> <?php $args = array( 'posts_per_page' => 10 // 表示件数の指定 ); $posts = get_posts( $args ); foreach ( $posts as $post ): // ループの開始 setup_postdata( $post ); // 記事データの取得 ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <div class="admin-pv"> <?php //全体、月別、週別、日別のPV表示 echo '<span class="all">全体:<span class="pv-count">', wpp_get_views ( get_the_ID(), 'all' ), '</span></span>'; echo '<span class="monthly">月:<span class="pv-count">', wpp_get_views ( get_the_ID(), 'monthly' ), '</span></span>'; echo '<span class="weekly">週:<span class="pv-count">', wpp_get_views ( get_the_ID(), 'weekly' ), '</span></span>'; echo '<span class="daily">日:<span class="pv-count">', wpp_get_views ( get_the_ID(), 'daily' ), '</span></span>'; ?> </div> </li> <?php endforeach; // ループの終了 wp_reset_postdata(); // 直前のクエリを復元する ?> </ul>という感じです。最近の記事のPV一覧を表示できるし、一般の方には非公開ページは見れないし、管理する側からすると、そのページをお気に入りに入れるなどすると、そのページのみ表示の時間はかかりますが、PV一覧を手軽に確認することができます。
一応動きました。
PV数の取得あれこれで考えてみた方法を試してみた結果、こういう方向性もありなのかなと思って勝手に報告させていただきました。 -
2017年5月22日 5:07 PM #52647
わいひらキーマスター非公開ページで自分用だったら、遅くても全然ありですよね。
僕も、使わせてもらおうかな。
上記コードを取り込んだ、テンプレートファイルを作ってそれを元に固定ページを生成するというのでもいけそう。 -
2017年5月22日 6:38 PM #52670
Mori
ゲスト表示は遅いですが、個人用なら問題なしですよ
そういえば、Jetpack対応の場合はこちらでしたね<ul> <?php $args = array( 'posts_per_page' => 10 // 表示件数の指定 ); $posts = get_posts( $args ); foreach ( $posts as $post ): // ループの開始 setup_postdata( $post ); // 記事データの取得 ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <div class="admin-pv"> <?php //全体、月別、週別、日別のPV表示 $views_all = 0; $views_monthly = 0; $views_weekly = 0; $views_daily = 0; //Wordpress Popular Posts利用時 if (is_admin_pv_type_wpp()) { $views_all = wpp_get_views ( get_the_ID(), 'all' ); $views_monthly = wpp_get_views ( get_the_ID(), 'monthly' ); $views_weekly = wpp_get_views ( get_the_ID(), 'weekly' ); $views_daily = wpp_get_views ( get_the_ID(), 'daily' ); } //Jetpack利用時 if (is_admin_pv_type_jetpack()) { $jetpack_views = stats_get_csv('postviews', array('days' => -1, 'limit' => 1, 'post_id' => $post->ID )); if (isset($jetpack_views[0]['views'])) { $views_all = $jetpack_views[0]['views']; } $jetpack_views = stats_get_csv('postviews', array('days' => 30, 'limit' => 1, 'post_id' => $post->ID )); if (isset($jetpack_views[0]['views'])) { $views_monthly = $jetpack_views[0]['views']; } $jetpack_views = stats_get_csv('postviews', array('days' => 7, 'limit' => 1, 'post_id' => $post->ID )); if (isset($jetpack_views[0]['views'])) { $views_weekly = $jetpack_views[0]['views']; } $jetpack_views = stats_get_csv('postviews', array('days' => 1, 'limit' => 1, 'post_id' => $post->ID )); if (isset($jetpack_views[0]['views'])) { $views_daily = $jetpack_views[0]['views']; } } echo '<span class="all">全体:<span class="pv-count">', $views_all, '</span></span>'; echo '<span class="monthly">月:<span class="pv-count">', $views_monthly, '</span></span>'; echo '<span class="weekly">週:<span class="pv-count">', $views_weekly, '</span></span>'; echo '<span class="daily">日:<span class="pv-count">', $views_daily, '</span></span>'; if (is_jetpack_stats_module_active() && !is_wpp_enable()) { echo '<span class="jp-page"><a href="'.admin_url().'admin.php?page=stats&view=post&post='.get_the_ID().'"title="Jetpackの統計" target="_blank"><span class="fa fa-bar-chart"></span></a></span>'; } ?> </div> </li> <?php endforeach; // ループの終了 wp_reset_postdata(); // 直前のクエリを復元する ?> </ul> -
2017年5月22日 8:05 PM #52674
-
-
投稿者投稿
3件の返信スレッドを表示中
- フォーラム「テーマファイルのカスタマイズに関する質問など」には新規投稿および返信を追加できません。