在 WooCommerce 中显示不包括产品类别的订单项目名称

凯恩

使用 WooCommerce,我在下面的代码中遇到了一个问题:我尝试从循环中跳过特定类别。产品已被跳过,但一些剩余产品显示多次:

foreach ( $order->get_items() as $item_id => $item ) {
    $product_id = $item->get_product_id();
    $terms = get_the_terms( $product_id, 'product_cat' );

    foreach ($terms as $term) {
        if ($product_cat_id != 38355) { //category id
            echo $name = $item->get_name().'<br>';
        }
    }
}

如何避免此循环中的此项目名称重复?

LoicTheAztec

该变量$product_cat_id未在您的代码中定义,因此您的 if 语句始终为真。

要检查订单商品中的产品类别,请改用条件函数has_term()这将避免多次显示产品名称,并且38355将排除属于类别 ID 的项目

这是您重新访问的简化代码版本:

$item_names = array(); // Initializing

foreach ( $order->get_items() as $item ) {
    // Excluding items from a product category term ID
    if ( ! has_term( 38355, 'product_cat', $item->get_product_id() ) ) {
        $item_names[] = $item->get_name();
    }
}
// Output 
echo implode( '<br>', $item_names );

现在它应该按预期工作

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从WooCommerce的订单项中获取产品类别ID

在Woocommerce订单详细信息中显示产品类别名称

如何从WooCommerce中的订单项获取产品类别ID

在Woocommerce中检查产品类别的产品

从显示类别为Woocommerce的子类别的产品类别中删除边栏

在Woocommerce中显示基于自定义文本的产品类别订单商品名称

显示Woocommerce中特定产品类别的产品

更改 Woocommerce 中特定产品类别的购物车项目价格

WooCommerce中特定产品类别的最小购物车项目数量

为Woocommerce中已定义产品类别的特定项目计数设置零税种

Woocommerce中基于状态和产品类别的累进购物车项目费用

在 Woocommerce 中获取并显示产品类别的特色图片

WooCommerce客户完成的订单电子邮件通知中基于产品类别的条件文本

在 WooCommerce 中的标题下方显示循环产品类别项目描述

在Wordpress菜单中按名称ASC对WooCommerce产品类别子菜单项进行排序

Woocommerce 3中按产品类别的自定义购物车项目计数

每个产品类别的总价格值 - Woocommerce

汇总WooCommerce订单中按产品类别订购的产品数量

在Woocommerce档案中获取当前产品类别的子类别

列出Woocommerce中给定产品类别的子类别

用Woocommerce 3中特定产品类别的产品替换加售商品

隐藏Woocommerce中具有特定产品类别的产品

获取Woocommerce中特定产品类别的特定产品属性值

产品类别的WooCommerce产品价格中的自定义小数

Woocommerce中带有产品类别的产品变体WP_Query

取消设置woocommerce中特定产品类别的产品选项卡

在Woocommerce中仅允许购买特定产品类别的一种产品

为特定WooCommerce产品类别的购物车项目设置最小数量

WooCommerce在产品标题中显示产品类别