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

显示特定产品类别的购物车项目简短说明

苏坚成
2023-03-14

在WooCommerce中,我试图在购物车项目中添加特定类别的产品简短描述。

我发现这段代码将产品简短描述添加到购物车中的所有产品中,但我不知道如何将其缩小到仅显示在特定产品上:

add_filter('woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2);

function wc_checkout_description_so_27900033($other_data, $cart_item) {
    $post_data = get_post($cart_item['product_id']);
    echo $post_data - > post_excerpt;
    return $other_data;
}

如何使此代码仅显示已定义产品类别的简短说明?

谢谢

共有1个答案

程谭三
2023-03-14

woocommerce版本3及以上的更新

我已经改变并实现了一点点你的代码。然后目标产品类别,你应该使用has_term()条件WordPress函数。

您必须在函数中定义类别ID、段塞或名称。

下面是定义产品类别术语的代码:

add_filter('woocommerce_get_item_data', 'filter_woocommerce_get_item_data', 10, 2);
function filter_woocommerce_get_item_data( $item_data, $cart_item ) {

    // Define HERE your Category term IDs, Slugs or Names in the array
    $categories = array('clothing', 'music'); 

    // Product Category condition Below
    if( has_term( $categories, 'product_cat', $cart_item['product_id'] ) ) {
        if( ! ( $cart_item['variationt_id'] > 0 ) ) {
            $description = $cart_item['data']->get_short_description();
        } else {
            $description = $cart_item['data']->get_description();
            
            if ( ! empty( $description ) ) {
                $parent_product = wc_get_product( $cart_item['product_id'] );
                $description    = $parent_product->get_short_description();
            }
        }

        if ( ! empty( $description ) ) {
            $item_data[] = array(
               'key'       => __( 'Product description', 'woocommerce' ),
               'value'     => $description,
               'display'   => $description,
            );
        }
    }
    return $item_data;
}

代码functions.php活动子主题(或主题)的文件或任何插件文件中。

代码经过测试并正常工作。

 类似资料:
  • 在WooCommerce中,我需要为产品类别的每一项设置最低数量。我搜索了论坛,找到了一些代码,除了它只计算一个产品类别的总数量外,其他代码运行良好: 例如,如果我有两个属于同一产品类别的产品(A和B),并将该类别的最小数量设置为5,则在这种情况下不会出现客户的错误消息: 产品A:3 产品乙:2 我需要一个最小的数量5的每一个产品的类别。 您知道如何更改和优化以下代码吗?

  • 问题内容: 我有上面的代码。 如果我在cart_item上运行print_r,我将得到一个多维数组: 我如何只获得product_id? 我试过$ test = 没用 问题答案: 要获取 foreach循环中的每个购物车商品(对于简单产品): 如果是可变产品,请获取 : 或在两种情况下 ( Woocommerce 3+中 的 Object在哪里) : 更新: 循环外使用产品ID 1)打破循环 (仅

  • 我有一个订单按钮应该是重定向用户到购物车页面与订购的项目 这是web.php路线 这是addToCart函数 但是当我点击按钮时,它不会重定向到购物车页面,它会一直加载到同一个位置。 我尝试使用在addToCart函数上转储变量,它输出正确的结果

  • 在WooCommerce中,我试图为特定产品类别的购物车项目设置最低数量。 基于“WooCommerce中特定产品类别的最低购物车项目数量”,以下是我的代码尝试: 它不能像我希望的那样工作,因为为特定产品类别中的第一个购物车项目设置了最低数量,但不是为该特定产品类别中的所有项目全局设置。感谢您的帮助。

  • 我想在“管理”中产品标题下方的“编辑订单”页面中显示“产品简短说明”。 我对WooCommerce比较陌生,根据我的发现,我相信我应该在订购之前使用动作挂钩 比如: 任何关于如何进一步调整的帮助都将不胜感激

  • 我正在尝试将我的WooCommerce档案页面上特定产品类别的add to cart按钮更改为“Read More”按钮,该按钮将链接到产品页面(但不链接到单个产品页面本身)。 使用“将添加到购物车按钮替换为WooCommerce 3中的shop pages中的read more链接到product页面”的答案代码,如何将其限制为仅有一个产品类别(本例中术语名称为“Classs”)? 感谢任何帮助