[wordpress] ブログにカテゴリー別の人気記事一覧を表示する

[wordpress] ブログにカテゴリー別の人気記事一覧を表示する
   

ブログ全体の人気記事は「WordPress Popular Posts」というプラグインを使えば表示できるのですが、カテゴリー別の人気記事を出す方法はないのか調べて、ブログに実装しました。
今回はこの方法を紹介したいと思います。

「WordPress Popular Posts」をカスタマイズ


まずは「WordPress Popular Posts」をwordpressに組み込んで有効化してあげます。

次に「ワードプレスのサイドバーにカテゴリ別人気記事を表示する | PLUS」の記事を参考にしてカスタマイズをします。
とはいっても、そのままコピペをして使ったのですが、functions.phpにカテゴリーを抽出する関数を記載します。
//
//functions.php の任意の場所に設置
//


//wp_head()実行時にget_current_category()を実行
add_action('wp_head', 'get_current_category');
 
// 現在のカテゴリを取得
function get_current_category()
{
    global $_curcat;
    $cate = null;
    if( is_category() ) {
        //カテゴリー表示だったら
        //$now_cate = get_query_var('cat');
        //$cate = get_category($now_cate);
         
        $cat_now = get_the_category();
        // 親の情報を$cat_nowに格納
        $cate = $cat_now[0];
         
    } else if (is_single() ) {
        //シングルページ表示だったら
        $cates = get_the_category();
        $i = 0;
        $use_category = 0;
        foreach ($cates as $cate) {
            //未分類を除外した配列の一番初めのカテゴリを選択
            if($cate->category_parent > 0 && $use_category == 0) {
                $use_category = $i;
            }
            $i++;
        }
        $cate = $cates[$use_category];
    }
    //カテゴリーのオブジェクトごと保持
    $_curcat = $cate;
    return $cate;
}

次に、ブログ内の人気記事を表示させたい所に以下のコードを記載します。
<div class="pop">
<?php
global $_curcat;
$caca=$_curcat->cat_ID;
 
if (is_home() &amp;&amp; $caca=="") {
get_mostpopular('range=weekly&amp;order_by=views&amp;limit=10&amp;stats_comments=0&amp; stats_views=1&amp;pages=0&amp;thumbnail_width=60&amp;thumbnail_height=40&amp;thumbnail_selection=usergenerated');
}else{
get_mostpopular('range=weekly&amp;order_by=views&amp;cat='.$caca.'&amp;limit=10&amp;stats_comments=0&amp; stats_views=1&amp;pages=0&amp;thumbnail_width=60&amp;thumbnail_height=40&amp;thumbnail_selection=usergenerated');
}
?>
</div>


表示方法をカスタマイズする

後は、人気記事を出力するために[get_mostpopular();]をカスタマイズします。
「get_mostpopular」のカスタマイズは「nm705.com」の記事を参考にしました。


「WordPress Popular Posts」脆弱性の問題。

これは調べているうちにわかったのですが、「WordPress Popular Posts」内で利用している「timthumb.php」に脆弱性がるみたいです。

詳しくはこちらを参考にしてください。
WordPress Popular Postsでサムネイルを表示している方は要注意! | PLUS

さいごに

私は固定されたサイドバーにこのオススメ記事一覧を載せました。
こんな感じです。
2013 2 2 ffdd



[参考にしたサイト]

Related Posts Plugin for WordPress, Blogger...