• 解決済 epson_flower

    (@epson_flower)


    いつもお世話になっております。
    現在、カテゴリーが約60ほどあるサイトを立ち上げています。
    それぞれのカテゴリーは、ユーザーさんごとの記事が掲載されています。

    カテゴリーページを作成しているのですが、
    Aカテゴリーの記事ループの中で、Bカテゴリーにも属している記事のみ、
    標記させない方法を探しています。
    (除外したい記事は、AとB両方のカテゴリーにチェックが入っている状態です)

    いろいろ試してみましたが、これというものが見つからず…。

    ご教授いただきたく、よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    pre_get_posts フックで、Bカテゴリーの id を category__not_in で指定する方法ではいかがでしょう?

    query_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】

    関数リファレンス/WP Query – 5.2 カテゴリーパラメータ

    トピック投稿者 epson_flower

    (@epson_flower)

    jim912さま
    リンクしていただいた記事じっくり読ませていただき、こちらに適用したところ、バッチリ!できました。
    助かりました。本当にありがとうございました。

    私の場合は、jim912さんがサイトでサンプルで書いておられた
    —————
    IDが2のカテゴリーを表示する際、IDが6のカテゴリーにも属している記事だけを表示する
    function customize_main_query($query) {
    if ( is_admin() || ! $query->is_main_query() )
    return;

    if ( $query->is_category(2) ) {
    $query->set( ‘category__and’, array(2,6) );
    }
    }
    add_action( ‘pre_get_posts’, ‘customize_main_query’ );
    —————
    をもとに、category__not_inで除外し、
    さらに、「それぞれのカテゴリーページで、カテゴリーBを表示させない」ということだったので、if ( $query->is_category(2) )を記載せず、
    $query->set( ‘category__not_in’, array(カテゴリーB) );
    としました。

    月別でカテゴリー別のアーカイブを作ろうと思っていたので、
    また使わせていただこうと思っております。
    ありがとうございました。
    今後ともどうぞよろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「特定のカテゴリーの記事の中で、特定のカテゴリーの記事だけ除外したい」には新たに返信することはできません。