サポート » 使い方全般 » カテゴリ除外につきまして

  • 解決済 AkitoiRo

    (@dona0513)


    いつもお世話になっております。

    現在

    
    $args = array(
      'cat' => -10,
      'posts_per_page' => 4,
      'post__not_in' => get_option( 'sticky_posts' )
    );
    $the_query = new WP_Query( $args );
    if ( $the_query->have_posts() ) :
      while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    

    といった形で10のカテゴリを除外して一覧を表示しているのですが
    カテゴリ10 + カテゴリ2
    と2つ選択している記事は一覧に表示したいです。

    その場合はどのように編集すればよいでしょうか?

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • CG

    (@du-bist-der-lenz)

    最初にカテゴリ10を除外しているのでプールされていないのではないでしょうか

    こんにちは

    全てのカテゴリー ID を取得し 10 を除外した配列を作成して、category__in パラメーターに指定すればいいのではないでしょうか。

    // 全てのカテゴリー ID を取得する。
    $categories = get_terms( 'category', array( 'hide_empty' => 0, 'fields' => 'ids' ) );
    // カテゴリー ID の配列から 10 を削除する。
    $categories = array_diff( $categories, array( 10 ) );
    $categories = array_values( $categories );

    上記のソースで希望カテゴリの表示は出来たのですが、

      'posts_per_page' => 4,
      'post__not_in' => get_option( 'sticky_posts' )

    この部分の4件表示と、トップの固定記事を削除が出来ません…
    こちらはどのように書き換えればよいでしょうか。

    知識が足りず大変申し訳ございません。

    解決いたしました。
    いただきましたコードとcategory__in パラメーター組み合わせたら実装できました。

    ありがとうございました。

    補足します。

    get_terms() の exclude パラメーターを使えば一発でした・・・(^^;

    $categories = get_terms( 'category', array(
    	'hide_empty' => 0,
    	'fields' => 'ids',
    	'exclude' => 10,
    ) );
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カテゴリ除外につきまして」には新たに返信することはできません。