サポート » プラグイン » 【WordPress Popular Posts】カテゴリー別ランキングでカテゴリーが複数ある場

  • 解決済 salut_mby

    (@salut_mby)


    お世話になります。

    記事ページにWordPress Popular Postsを使ってカテゴリー別ランキングを表示しています。
    Exec-PHPを使って以下のものをウェジェットに張り付けています。

    <?php
    if(function_exists('wpp_get_mostpopular')) {
      global $ex_id; // 重複の記事
      $ex_id = (empty($ex_id)) ? get_the_ID() : $ex_id . "," . get_the_ID(); //現記事のぞく
      $cat = get_the_category();
      $cat_name = $cat[0]->cat_name;
      $cate_ids = $cat[0]->term_id;
      for($i=1; $i<count($cat); $i++) { // 複数カテゴリに対応
        $cate_ids .= "," . $cat[$i]->term_id;
      }
      ob_start();
    $args = '
        limit=5&
        range=weekly&
        order_by=views&
        thumbnail_width=60&
        thumbnail_height=45&
        order_by=views&
        stats_author=1&
        stats_views=0&
        pid="'. $ex_id .'"&
        cat="'.$cate_ids.'"&
    wpp_start="<div id=\'popular-post\'><div>"&
    wpp_end="</div></div>"&
        post_html="<dl><dt>{thumb}</dt> <dd style=\'overflow:hidden;\'> {title} <br /><p>{author}</p></dd></dl>"&
        stats_comments=0';
    wpp_get_mostpopular($args);
      $popular = ob_get_clean();
      echo "<p id='m_rank_subtitle'>";
    ?>
    <?php single_cat_title(); ?>
    <?php
      echo "の人気記事</p>" . $popular;
    }
    ?>

    カテゴリーが1つだけの記事では、
    その記事のカテゴリーのランキングが表示され問題ないのですが、
    カテゴリーが複数ある記事がランキングに入っている場合に
    ランキング表示がおかしくなります。

    具体的には、
    カテゴリー1と5をチェックしている記事ページだと、
      1,5の人気記事
      1位:記事A(カテゴリー1,5)
      2位:記事B(カテゴリー2,5)
      3位:記事C(カテゴリー1,5)
      4位:記事D(カテゴリー1,5)
      5位:記事E(カテゴリー3,5)
    のような感じでカテゴリーがごちゃ混ぜになったランキングが表示されます。

    やりたいことは、
    ・複数カテゴリーの記事でも1つのカテゴリだけのランキングを表示したいです。
    ・カテゴリー5をランキングから除外したいです。(カテゴリが複数の場合は必ずカテゴリー5が入るためです)

    単に
    cat=”‘.$cate_ids.'”&

    cat=”-5,’.$cate_ids.'”&
    のような形でできるかと思ったのですが、上手くいきませんでした。。。

    拙い説明で申し訳ありませんが、ご教示いただけますと幸いです。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 大変失礼しました!

    自己解決しました。

    どこかのサイト様からコピペさせていただいたものでしたが、
    「// 複数カテゴリに対応」の部分を削除して、少し修正しました。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「【WordPress Popular Posts】カテゴリー別ランキングでカテゴリーが複数ある場」には新たに返信することはできません。