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

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

WordPress Popular Posts」をカスタマイズ

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

次に「ワードプレスのサイドバーにカテゴリ別人気記事を表示する | PLUS」の記事を参考にしてカスタマイズをします。 とはいっても、そのままコピペをして使ったのですが、functions.phpにカテゴリーを抽出する関数を記載します。 [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;

} [/php]

次に、ブログ内の人気記事を表示させたい所に以下のコードを記載します。 [php]

cat_ID; if (is_home() && $caca=="") { get_mostpopular('range=weekly&order_by=views&limit=10&stats_comments=0& stats_views=1&pages=0&thumbnail_width=60&thumbnail_height=40&thumbnail_selection=usergenerated'); }else{ get_mostpopular('range=weekly&order_by=views&cat='.$caca.'&limit=10&stats_comments=0& stats_views=1&pages=0&thumbnail_width=60&thumbnail_height=40&thumbnail_selection=usergenerated'); } ?>

[/php]

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

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

WordPress Popular Posts」脆弱性の問題。

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

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

さいごに

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

[参考にしたサイト]