当前位置: 首页 > 知识库问答 >
问题:

隐藏子类别从WooCommerce类别小部件

袁山
2023-03-14

我正在使用内置的woocommerce类别小部件,目前它同时显示类别和子类别。

我通过以下代码排除了一个类别:

add_filter( 'woocommerce_product_categories_widget_args', 'organicweb_exclude_widget_category' );
function organicweb_exclude_widget_category( $args ) {
// Enter the id of the category you want to exclude in place of '30' 
    $args['exclude'] = array('62' );
    return $args;
}

但是小部件仍然显示它的子类别。

链接:http://tithaty.com.br/?post_type=product

隐藏的类别是Coleções(我配置为父级),我想隐藏它的子类别,当前的和将来添加的子类别。

Colecao teste是一个子类别的例子。

有什么想法吗?

非常感谢。

共有1个答案

阴培
2023-03-14

您需要稍微修改一下过滤器代码。我在代码中放置了注释,以帮助您理解它是如何工作的。代码将确保科勒的现有子类别和未来添加的子类别始终隐藏。

add_filter( 'woocommerce_product_categories_widget_args', 'organicweb_exclude_widget_category' );

function organicweb_exclude_widget_category( $args ) {

    // Create an array that will hold the ids that need to be excluded
    $exclude_terms = array();

    // Push the default term that you need to hide 
    array_push( $exclude_terms, 62 );

    // Find all the children of that term
    $termchildren = get_term_children( 62, 'product_cat' );

    // Iterate over the terms found and add it to the array which holds the IDs to exclude
    foreach( $termchildren as $child ) {
        $term = get_term_by( 'id', $child, 'product_cat' );     
        array_push( $exclude_terms, $term->term_id );
    }

    // Finally pass the array
    $args['exclude'] = $exclude_terms;

    return $args;
}
 类似资料:
  • 我有以下代码,用于从WooCommerce产品类别小部件中删除除管理员和批发客户(自定义用户级别)之外的所有用户的“批发类别”(通过slug)。 这非常好,但是它只删除了父类别,留下了所有的子类别。我如何也删除“批发类别”的子类别? 谢啦

  • 在我开始之前,我请求您的帮助,因为我有非常基本的html和css技能,而且绝对没有php知识! 我想在目录标题和描述下面category.php模板上显示子类别。我在stackoverflow上找到了一个完美工作的代码(我添加了一个div类): 但是,当对不包含任何子类别的类别或子类别的页面收费时,会显示以下文本:“无类别”。 在上面的php代码中,当没有子类别时,是否可以隐藏任何文本?非常感谢

  • 我正在用WooCommerce建立一个商店,并使用WooCommerce产品类别小部件。我用子类别设置了许多产品类别。其中一个类别是“海报”,有几个子类别,如“星标”、“旅游”、“自然”... 默认情况下,WooCommerce只显示好的父类别。如果我点击一个类别"海报",我被重定向到"海报"类别存档页面,小部件显示所有"海报"子类别,它是完美的。 现在,如果我点击其中一个“海报”子类别,我将被重

  • 我试图在WooCommerce的子类别页面中查找父类别名称,即我有4个主要类别。 父母1 子1 子2 子3等 父母2 子1 子2 子3等 等等。 如果我在Sub2的列表页上,Sub2是Parent1的子级,我想知道Parent1类别的名称。

  • 我正在边栏和页脚小部件区域使用woocommerce产品类别小部件。 我有两个家长类别。我想这些被显示,但不是可点击的链接。 你可以在这里看到这一页http://www.terrykirkwood.co.uk/w 有人能建议添加什么css来阻止这些链接被点击吗? 谢谢 以下是第一次出现的代码:

  • 我需要一些关于Woocommerce类别显示选项的帮助。在Wordpress仪表板中,我按照以下链接全局设置类别显示选项<外观- 有三种显示选项可用。 展示产品 目前,选择了第三个选项,它显示子类别以及父类别和子类别下的所有产品。但是,我想排除子类别下的所有产品。换句话说,我只想在父类别下显示子类别和产品。 我在几个教程网站上找到了以下片段。代码完全按照我想要的方式工作,但它也禁用了管理产品搜索和