最近ブログのトップページをいじる機会が増えました
その中で人気記事を実装したかったので試してみました
人気記事を作成するのに「WordPress Popular Posts」
というプラグインを使うのが主流らしいですが
なぜか使えないのでソースにPHPを書き込みました(-_-;)
見た目はこんな感じにしました!
今回参考にした記事はmanablogさんです
人気記事を作るのに必要な関数と
人気記事を載せるのに必要なコーディング部分を
簡単に紹介していきたいと思います
人気記事用の関数を作成
まずfunctions.phpを編集します
※必ずバックアップしておきましょう!
メモ帳にコピるなどしてもOK☆
ちなみにテーマはAffingerです
他のテーマの方はあまり参考にならないかも
WordPress管理画面の
外観>テーマエディターから直接編集しました
右のサイドバーからfunctions.phpを選択
ソースは下記の通り...
// 人気記事出力用関数 function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } // 記事viewカウント用関数 function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
ここでは人気記事出力用の関数と
閲覧数をカウントする関数を作ってます
次のステップで人気記事を出力するために
材料を作っている感じです
最後にファイルの更新ボタンを押しましょう
忘れないように!!
人気記事を出力
次に出力したいところに貼り付けます!
トップページが多いと思いますね
自分はsidebar.phpに直接追加しました笑
<?php // views post metaで記事のPV情報を取得する setPostViews(get_the_ID()); $args = array( 'meta_key' => 'post_views_count', //記事の閲覧数取得 'orderby' => 'meta_value_num', //閲覧数順に並び替え 'order' => 'DESC', //降順(昇順にしたい場合は’ASC’) 'posts_per_page' => 5 // ← 5件取得 ); // WP_Queryによるループ $query = new WP_Query($args); if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?> <!-- サムネイルの表示 タイトルの表示 --> <div> <a href="<?php the_permalink(); ?>"> <?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'post-thumbnail'); } ?> <p> <?php the_title(); ?> </p> <?php echo getPostViews(get_the_ID()); // 記事閲覧回数表示 ?> </div> <?php endwhile; endif; wp_reset_postdata(); ?>
やっぱり人気記事をカウントできると
PV数に影響してきます!!
またプラグインを増やすと
処理が重くなるのでSEO的には
なるべく追加したくないところ!
というわけで以上です🔥