【個人用メモ】
WordPress Popular Postsを使ってカテゴリー別の人気ランキングを表示させる。
複数のカテゴリーで構成されている「ごちゃまぜブログ」は、テーマに縛られず書く事が出来る為、続けやすいというメリットがあります。しかし「特化型ブログ」と比べると明らかに離脱率が高く、回遊率をあげる事こそがPVを稼ぐ近道だと考えます。
そこで当ブログも「カテゴリー別の人気ランキング」を設置したいと考えるようになりました。これで行こう(-ω-)/
ほぼ目的を満たす解説サイト発見
解説・やり方説明は各所にあったのですが、当ブログではWordPress Popular PostsのCSSが悪さをして、解説通りの表示にならず。。。WPP Plus Widgetもいまいちでして・・・。
10サイト程探し回り、やっと理想通りの動きをする記事にたどり着きました。
WordPress Popular Postsで人気記事の表示とカスタマイズ方法(アフィリ課様の記事)
ただし、アフィリ課様の記事で
sidebar.phpからランキングを掲載したい箇所を探して設置
とあるように、ウィジェットで好きな場所に出す方法ではありませんでした。
プラグインで解決
調べていると直接PHPコードを掛けるプラグイン「PHP Code Widget」なる物があると知る。ウィジェットに追加すれば、ほぼ終わりですな。
・php code widgetを有効化
・ウィジェットから「php code」を選択し、サイドバーに追加。
WordPress Popular Postsで人気記事の表示とカスタマイズ方法(アフィリ課様の記事)
でコピーさせて頂いたソースを張り付け。(バックアップは絶対!)
<!-- カテゴリー別人気記事の取得 --> <?php if (is_category()) { ?> <?php $categoryname = single_cat_title('',false); $categoryid = get_cat_ID($categoryname); ?> <div class="widget popular-posts"> <h3 class="widget-title">「<?php echo $categoryname; ?>」カテゴリー別人気記事</h3> <?php $wpp = array ( 'cat' => ''.$categoryid.'', 'limit' => '5', 'range' => 'all', 'order_by' => 'views', 'post_type' => 'post', 'stats_comments' => '0', 'stats_views' => '0', 'title_length' => '25', 'thumbnail_width' => '70', 'thumbnail_height' => '70', 'stats_category' => '0', 'wpp_start' => '<div id="popular-post"><ul class="wpp-list">', 'wpp_end=' => '</ul></div>', 'post_html' => '<li>{thumb} {title} <span class="post-stats">{stats}</span><div class="clear"> </div></li>', ); ?> <?php wpp_get_mostpopular($wpp); ?> </div> <?php } elseif (is_single()) { ?> <?php wp_reset_query(); $cat = get_the_category(); $cat_id = $cat[0]->cat_ID; $cat_name = $cat[0]->cat_name;?> <div class="widget popular-posts"> <h3 class="widget-title">「<?php echo "$cat_name"; ?>」人気記事</h3> <?php $wpp = array ( 'cat' => ''.$cat_id.'', 'limit' => '5', 'range' => 'all', 'order_by' => 'views', 'post_type' => 'post', 'stats_comments' => '0', 'stats_views' => '0', 'title_length' => '25', 'thumbnail_width' => '70', 'thumbnail_height' => '70', 'stats_category' => '0', 'wpp_start' => '<div id="popular-post"><ul class="wpp-list">', 'wpp_end=' => '</ul></div>', 'post_html' => '<li>{thumb} {title} <span class="post-stats">{stats}</span><div class="clear"> </div></li>', ); ?> <?php wpp_get_mostpopular($wpp); ?> </div> <?php } else { ?> <div class="widget popular-posts"> <h3 class="widget-title">人気記事</h3> <?php $cat_now = get_the_category(); $cat_now = $cat_now[0]; $now_id = $cat_now->cat_ID; ?> <?php $wpp = array ( 'limit' => '5', 'range' => 'all', 'order_by' => 'views', 'post_type' => 'post', 'stats_comments' => '0', 'stats_views' => '0', 'title_length' => '25', 'thumbnail_width' => '70', 'thumbnail_height' => '70', 'stats_category' => '0', 'wpp_start' => '<div id="popular-post"><ul class="wpp-list">', 'wpp_end=' => '</ul></div>', 'post_html' => '<li>{thumb} {title} <span class="post-stats">{stats}</span><div class="clear"> </div></li>', ); ?> <?php wpp_get_mostpopular($wpp); ?> </div> <?php } ?> <!-- カテゴリー別人気記事の取得 -->
後はCSSを少しいじればOKです。
ちなみに、集計タイプ、記事数、ソート条件、コメント数の表示、観覧数の表示など細かい設定もできるので、細かい内容はアフィリ課様をご確認ください。とても分かりやすく素晴らしいサイトです。
やる時はバックアップはしっかり!自己責任でお願い致します(*´ω`)