在我的WooCommerce相关产品小部件中排除特定类别

雅各布

我所有的WooCommerce产品都分配了两个类别。第一类称为“所有产品”,所有产品均已分配。第二类取决于产品,可能是电影,书籍,工具等。

由于为每个产品分配了“所有产品”类别,因此在产品页面上的相关产品小部件中,您将看到每个产品,而不仅仅是第二(更具体的)产品类别。

我正在尝试在functions.php中添加一些代码,这些代码将忽略“所有产品”作为相关产品小部件的类别,但仍显示分配产品的第二类的相关产品。

到目前为止,我已经有了这段代码,该代码完全隐藏了相关产品小部件。我认为这是因为每个产品都被分配了“所有产品”,所以它删除了小部件,而不是将产品分配给第二个类别。

add_filter( 'woocommerce_related_products', 'exclude_product_category_from_related_products', 10, 3 );
function exclude_product_category_from_related_products( $related_posts, $product_id, $args  ){
    // HERE define your product category slug
    $term_slug = 'all-products';

    // Get the product Ids in the defined product category
    $exclude_ids = wc_get_products( array(
        'status'    => 'publish',
        'limit'     => -1,
        'category'  => array($term_slug),
        'return'    => 'ids',
    ) );

    return array_diff( $related_posts, $exclude_ids );
}

如何编辑此代码,以便隐藏“所有产品”类别而不显示在相关产品中,但仍显示其他分配类别的相关产品?

雷格尔

您最好选择woocommerce_get_related_product_cat_terms您可以使用它来删除'all-products'用于获取产品的类别数组。

add_filter( 'woocommerce_get_related_product_cat_terms', 'exclude_product_category_from_related_products' );
function exclude_product_category_from_related_products( $cats_array ) {

    $term = get_term_by('slug', 'all-products', 'product_cat');

    if ( $term && ($key = array_search($term->term_id, $cats_array)) !== false) {
        unset($cats_array[$key]);
    }

    return $cats_array;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从类别小部件中排除类别

来自分类Dev

Woocommerce:产品类别小部件

来自分类Dev

Woocommerce 相关产品排除子类别中的当前产品

来自分类Dev

如何从woocommerce的功能中排除产品类别?

来自分类Dev

获取侧边栏小部件,该小部件小部件显示Woocommerce中相同类别的产品

来自分类Dev

在 Woocommerce 的自动完成订单流程中排除特定产品

来自分类Dev

woocommerce产品类别窗口小部件禁用父类别链接

来自分类Dev

从WordPress全球搜索结果中排除woocommerce产品类别

来自分类Dev

产品相关的小部件,如价格滑块在 woocommerce 中不起作用

来自分类Dev

在 WooCommerce 中排除计算税的产品

来自分类Dev

woocommerce:如何从Woocommerce REST API中排除某些具有特定标签ID的产品

来自分类Dev

显示相关产品,从网格中排除当前产品

来自分类Dev

自定义WooCommerce产品小部件

来自分类Dev

从 wordpress 搜索中排除某些特定类别

来自分类Dev

Woocommerce 从最低订单要求中排除特定的购物车类别

来自分类Dev

从特定产品中排除自定义WooCommerce可用性文本

来自分类Dev

从WooCommerce优惠券中排除具有特定属性条款的产品

来自分类Dev

Wordpress - 从侧边栏小部件中排除页面?

来自分类Dev

隐藏woocommerce类别小部件中的子类别

来自分类Dev

如何在侧边栏小部件中修改和设置WooCommerce产品类别计数NUMBER的样式

来自分类Dev

使用woocommerce将产品从循环中排除

来自分类Dev

WooCommerce:从阈值数量中排除产品以免运费

来自分类Dev

从 Woocommerce 的商店页面中排除可下载的产品

来自分类Dev

产品页面上的 Woocommerce 类别特定代码

来自分类Dev

WooCommerce类别小部件中的锚点链接

来自分类Dev

Woocommerce-更改小部件以包括类别

来自分类Dev

WooCommerce Storefront 主题中的类别小部件不起作用

来自分类Dev

如何编辑Woocommerce产品小部件html类?

来自分类Dev

Woocommerce:仅显示相同子类别的相关产品

Related 相关文章

  1. 1

    从类别小部件中排除类别

  2. 2

    Woocommerce:产品类别小部件

  3. 3

    Woocommerce 相关产品排除子类别中的当前产品

  4. 4

    如何从woocommerce的功能中排除产品类别?

  5. 5

    获取侧边栏小部件,该小部件小部件显示Woocommerce中相同类别的产品

  6. 6

    在 Woocommerce 的自动完成订单流程中排除特定产品

  7. 7

    woocommerce产品类别窗口小部件禁用父类别链接

  8. 8

    从WordPress全球搜索结果中排除woocommerce产品类别

  9. 9

    产品相关的小部件,如价格滑块在 woocommerce 中不起作用

  10. 10

    在 WooCommerce 中排除计算税的产品

  11. 11

    woocommerce:如何从Woocommerce REST API中排除某些具有特定标签ID的产品

  12. 12

    显示相关产品,从网格中排除当前产品

  13. 13

    自定义WooCommerce产品小部件

  14. 14

    从 wordpress 搜索中排除某些特定类别

  15. 15

    Woocommerce 从最低订单要求中排除特定的购物车类别

  16. 16

    从特定产品中排除自定义WooCommerce可用性文本

  17. 17

    从WooCommerce优惠券中排除具有特定属性条款的产品

  18. 18

    Wordpress - 从侧边栏小部件中排除页面?

  19. 19

    隐藏woocommerce类别小部件中的子类别

  20. 20

    如何在侧边栏小部件中修改和设置WooCommerce产品类别计数NUMBER的样式

  21. 21

    使用woocommerce将产品从循环中排除

  22. 22

    WooCommerce:从阈值数量中排除产品以免运费

  23. 23

    从 Woocommerce 的商店页面中排除可下载的产品

  24. 24

    产品页面上的 Woocommerce 类别特定代码

  25. 25

    WooCommerce类别小部件中的锚点链接

  26. 26

    Woocommerce-更改小部件以包括类别

  27. 27

    WooCommerce Storefront 主题中的类别小部件不起作用

  28. 28

    如何编辑Woocommerce产品小部件html类?

  29. 29

    Woocommerce:仅显示相同子类别的相关产品

热门标签

归档