Follow Us:

Woocommerce で特定のカテゴリーの商品を検索結果から除外する方法

Woocommerceはワードプレスで最も使用されている商品販売用プラグインです。
このプラグインの商品検索から特定のカテゴリーの商品を除外する方法を解説いたします。

Woocommerceで特定のカテゴリーの商品を検索結果から除外する

テーマに含まれるFunctions.phpに下記のコードを記載することで商品検索から特定のカテゴリーの商品を除外することができます。

function woocommerces_search_posts( $query ) {
    if (! is_admin() && $query->is_main_query() && $query->is_search())
    {
        $query->set( 'post_type', array( 'product' ) );
        $tax_query = array(
            array(
                'taxonomy' => 'product_cat',
                'field' => 'slug',
                'terms' => 'Woocommerce商品のカテゴリーターム(スラグ)',
                'operator' => 'NOT IN',
            ),
        );
        $query->set( 'tax_query', $tax_query );
    }
}
add_action( 'pre_get_posts', 'woocommerces_search_posts' );

if (! is_admin() && $query->is_main_query() && $query->is_search())
このコードで、管理画面でなく、かつ 検索結果を表示する場合にのみ、処理を付け加えます

$query->set( ‘post_type’, array( ‘product’ ) );
このコードで検索結果をWoocommerceの商品に限定します。

‘terms’ => ‘Woocommerce商品のカテゴリーターム(スラグ)’,
この行の「Woocommerce商品のカテゴリーターム(スラグ)」 の部分に除外したいWoocommerce商品のスラグを入れます。

‘operator’ => ‘NOT IN’,
この行で前述のスラグを除外するようにワードプレスに指定しています。

WordPress ワードプレスのプラグインのカスタマイズのご相談・ご依頼はワードプレスドクターまでお気軽にお送りください

 ワードプレスについて学んでプロに好きなだけ質問できるオンラインサロンはこちら

関連タグ:

Wordpress ワードプレス ドクターBlog タグ一覧

© 2015-16. «WP Doctorワードプレスドクター». All right reserved.