WordPress のサイト内検索を作成している時、特定のページを除外や、特定のカテゴリ除外の記事はよく見かけるのですが、特定のカスタムタクソノミーを除外する方法が見つからなかったので、参考コードを見ながらカスタマイズしてみました。

このコードをfunctions.phpに追記します。自分の環境では、以下のコードを使いカスタムタクソノミーの特定のタームを除外できました。

5行目のtaxonomynameをカスタムタクソノミーの名前に指定します。
7行目でtarms1やtarms2やtarms3と書いている部分を除外するタームのスラッグに指定します。

タームのスラッグはカスタムタクソノミーでカテゴリを作成する際に、任意の文字列で指定するものです。 カテゴリを追加する際、下のような画面が出てきます。この時にスラッグ項目で指定した任意の半角小文字英数字の文字列がスラッグになります。

スラッグの指定

カスタムタクソノミーの作成手順につきましてはこの記事では割愛させていただきます。自分がカスタムタクソノミーを作成する時は、Custom Post Type UIプラグインを使用していますのでこのプラグインの記事を検索してみてください。

参考サイト

このコードはWordPressカスタマイズ事典様の記事を参考にしました。

カスタム投稿タイプの投稿を検索対象から除く