• 解決済 takada_r

    (@takada_r)


    WP_Queryで作ったループの中で特定のページテンプレートの記事は除外したいです。

    ページテンプレートは’_wp_page_template’というフィールドで登録されているので以下の様に記述しましたが他の記事も表示されません。

    
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => 9,
        'meta_query' => array(
          array(
            'key' => '_wp_page_template',
            'value' => 'lp.php',
            'compare' => '!='
          )
        )
    );
    
    $the_query = new WP_Query( $args );
    

    ‘compare’を’=’にするとそのページテンプレートの記事だけヒットしますので逆パターンは行けるようです。

    そもそもやり方が間違っているのでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    ページテンプレートを設定していない場合、_wp_page_template フィールド自体が存在しないので、存在しないという条件を追加するといいかと思います。

    'meta_query' => array(
      'relation' => 'OR',
      array(
        'key' => '_wp_page_template',
        'value' => 'lp.php',
        'compare' => '!='
      ),
      array(
        'key' => '_wp_page_template',
        'compare' => 'NOT EXISTS'
      )
    )
    トピック投稿者 takada_r

    (@takada_r)

    おお!素晴らしい!
    ありがとうございます!!助かりました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「meta_queryで特定のページテンプレートの記事を除外」には新たに返信することはできません。