• gfb00756yahoocojp

    (@gfb00756yahoocojp)


    お世話になります。

    ウィジェットの「アーカイブ」を使っています。
    自分の場合、投稿にはそれぞれカテゴリーを設定していますが、
    「例えばカテゴリーIDが1のもののみ」に表示を限定したいのですが、どのソースを直せば良いのでしょうか?

    説明が下手で申し訳ないのですが、メニュー部分で、すべてのカテゴリーだと
    # 2010年9月 (6)
    な感じで出ますが、カテゴリーを絞った形で、
    # 2010年9月 (3)
    な感じで出したいのです。

    いろいろ調べてみたのですが、わかりませんでした。
    ご存じの方がおられましたら、ご教授お願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • テーマの functions.php に以下を追加すれば
    # 2010年9月 (3)
    な感じで出ます。

    <?php
    add_filter( 'getarchives_where', 'my_getarchives_where', 10, 2);
    function my_getarchives_where( $where, $r ) {
      global $wpdb;
      $where .=
        " AND $wpdb->term_taxonomy.taxonomy = 'category'
        AND $wpdb->term_taxonomy.term_id = 123"; /* 123 をカテゴリー ID に変えましょう*/
      return $where;
    }
    add_filter( 'getarchives_join', 'my_getarchives_join', 10, 2 );
    function my_getarchives_join( $join, $r) {
      global $wpdb;
      $join .= " INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id)
        INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)";
      return $join;
    }
    ?>

    んが、クリックして表示されるアーカイブ一覧は今まで通りカテゴリーに関係なく全部出ますー
    アーカイブ一覧もカテゴリーで絞ってよー、って場合はまたお知らせください◎

    トピック投稿者 gfb00756yahoocojp

    (@gfb00756yahoocojp)

    kzさん、親切なご教授をありがとうございます。

    ご指示のとおりやりましたら、メニュー部分について、
    # 2010年9月 (3)
    な感じになりました。ありがとうございました。

    >クリックして表示されるアーカイブ一覧は今まで通りカテゴリーに関係なく全部出ますー
    >アーカイブ一覧もカテゴリーで絞ってよー、って場合はまたお知らせください◎

    あのー、お言葉に甘えて、こちらも教えていただけないでしょうか?
    お手数をおかけします。よろしくお願いします。

    同様に以下を追加すれば OK。

    add_filter( 'get_archives_link', 'my_get_archives_link' );
    function my_get_archives_link( $link_html ) {
      /* 123 をカテゴリー ID に変えましょう */
      return preg_replace( '/href=([\'"])([^\'"]*)([\'"])/i', 'href="\\2&cat=123"', $link_html );
    }

    トピック投稿者 gfb00756yahoocojp

    (@gfb00756yahoocojp)

    ありがとうございます。
    ご指導の通りにやりましたら、うまくいきました。
    大変感謝しています。

    Kzさん、天才!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「デフォルトのアーカイブ・ウィジェットで投稿カテゴリーを限定したい」には新たに返信することはできません。