从 Woocommerce 中的产品类别小部件中排除特定术语

Exclude a specific term from product categories widget in Woocommerce

我有一些未分类的产品,因为它们不属于任何特定的产品类别。

我想在我的网站上保留未分类组中的产品(当人们搜索它时,当我在首页上显示它时等),但我想从类别中隐藏实际的未分类标签下拉等,所以人们看不到它。

我试过这段代码,但没有成功:

 // Do not include this if already open!
/**
 * Code goes in theme functions.php.
 */
add_filter( 'woocommerce_product_subcategories_args', 'custom_woocommerce_product_subcategories_args' );
function custom_woocommerce_product_subcategories_args( $args ) {
  $args['exclude'] = get_option( 'default_product_cat' );
  return $args;
}

在此图像中,您可以看到问题所在。它说 "Ukategoriseret",这意味着未分类:

我想 get_option( 'default_product_cat' ) 是自定义的,因为在测试时我没有得到任何输出。所以你必须确保你得到了一个术语 ID。

我还想您是在谈论 产品类别小部件 。如果是这种情况,您将需要使用其中一种挂钩,具体取决于显示选择的选项设置。

下面的代码用于从产品类别小部件中排除任何一组产品类别术语 ID:

add_filter('woocommerce_product_categories_widget_dropdown_args', 'widget_product_categories_list_args', 10, 1);
add_filter('woocommerce_product_categories_widget_args', 'widget_product_categories_list_args', 10, 1);
function widget_product_categories_list_args( $args ) {
    
    $default_term_id = get_option( 'default_product_cat' );
    
    // Excluding: a term ID or coma separated term IDs
    $args['exclude'] = array( $default_term_id ); 

    return $args;
}

代码进入您的活动子主题(活动主题)的 function.php 文件。

已测试并有效。