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

    現在、検索結果ページをいじっているのですが

    カスタム投稿の検索結果で、特定のカスタム分類の特定のタームのみ除外したいと思っています。

    除外したいカテゴリーのIDは507で、スラッグはhokurikuになります。

    色々調べまして、function.phpに以下を記述しても全く動かずでした

    function.php

    function search_filter($query) {
      if (!$query -> is_admin && $query -> is_search) {
        $query -> set('category__not_in', array(507));
      }
      return $query;
    }
    add_filter('pre_get_posts', 'search_filter');

    search.phpでquery_postsで除外しようと

    <?php query_posts($query_string .'&order=ASC&cat=-507'); ?>
    <?php query_posts(array('category__not_in' => array(507))); ?>

    などを記述しても全く動きません。

    記事IDを指定して除外しようしても動かず、完全に詰んでる状態です。

    searchform.phpは以下になります。

    <form role="search" method="get" id="searchform" class="searchform" action="<?php echo home_url( '/' ); ?>">
    <div>
    <label class="screen-reader-text" for="s"></label>
    <input type="text" value="" name="s" id="s" placeholder="検索ワードを入力"/>
    <input type="submit" id="searchsubmit" value="検索" />
    </div>
    </form>

    search.phpは、query_postsがあるだけで、特におかしい点は見当たりません。

    これはどうすれば解決するのでしょうか?

    もし解決方法やヒント、新しいやり方などございましたらご教授頂ければと思います。

    よろしくお願い致します。

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

    (@jim912)

    catや、catagory__not_in などは、カテゴリー専用のパラメーターなので、カスタム分類には適用できません。
    カスタム分類に利用可能な、Taxonomy Parameters を利用してください。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「検索結果から特定のカテゴリーを除外したい」には新たに返信することはできません。