从wordpress默认搜索结果中删除隐藏的产品

从wordpress默认搜索结果中删除隐藏的产品,wordpress,woocommerce,Wordpress,Woocommerce,我需要从默认WoodPress搜索结果中删除woocommerce隐藏的产品,隐藏的产品仅在执行woocommerce搜索时隐藏。Tnx。更改搜索循环并使用以下代码 $_pf = new WC_Product_Factory(); $_product = $_pf->get_product($id); // assuming $id is available as the code is inside the loop $_product->is_visible() 在Woocom

我需要从默认WoodPress搜索结果中删除woocommerce隐藏的产品,隐藏的产品仅在执行woocommerce搜索时隐藏。Tnx。更改搜索循环并使用以下代码

$_pf = new WC_Product_Factory();
$_product = $_pf->get_product($id); // assuming $id is available as the code is inside the loop
$_product->is_visible()

在Woocommerce 3+中,这从元数据更改为分类法

add_action( 'pre_get_posts', 'search_query_fix' );
function search_query_fix( $query = false ) {
  if(!is_admin() && is_search()){
    $query->set( 'tax_query', array(
        array(
            'taxonomy' => 'product_visibility',
            'field'    => 'name',
            'terms'    => 'exclude-from-search',
            'operator' => 'NOT IN',
        )
    ));
  }
}