不包括Woocommerce中特定类别的产品

时间:2019-07-15 12:56:59

标签: php wordpress woocommerce

我正在使用以下功能,该功能应排除Woocommerce中特定类别的产品。该功能只能部分正常工作。在首页上,它仅将英文版的这些产品排除在外。在这里我想提一下,我正在使用WPML作为翻译插件。如果我改用德语或意大利语,则排除的产品仍然可见。但是,如果我导航到特定类别页面,则看不到产品。我也尝试了翻译类别的类别ID,但没有得到预期的结果。然后,我尝试通过过滤器获取WPML的ID。您可以查看我的代码并支持我以所有语言在首页上解决此问题吗?

function custom_pre_get_posts_query( $q ) {

  $current_user = wp_get_current_user(); 
        if ( !in_array( 'editor', $current_user->roles ) ) {
              //$cat_id = icl_object_id( 200, 'product_cat', true, 'en' );;
              $tax_query = (array) $q->get( 'tax_query' );

    $tax_query[] = array(
           'taxonomy' => 'product_cat',
           'field' => 'term_id', //or 'slug'
           'terms' => array( 200 ), // Don't display products in the clothing category on the shop page.
           'operator' => 'NOT IN'
    );


    $q->set( 'tax_query', $tax_query );
        }
}
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );  

0 个答案:

没有答案