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

从WooCommerce购物车中的产品获取ACF图像字段的数据

凤修为
2023-03-14

“我的店铺”中的每个产品都有一个ACF图像字段,该字段显示与产品(活动)关联的t恤图像。

现在我需要客户在结账时看到这个图像。我决定创建一个短代码,并在结账页面的某个地方添加它。

我不知道如何从购物车中的项目获得ACF图像字段?

到目前为止,我试图使用这段代码进入functions.php。任何想法?

function wpb_demo_shortcode() { 
 

    $product_id = $cart_item['product_id'];
    $image = get_field('tenue', $product_id);
    $size = 'full'; // (thumbnail, medium, large, full or custom size)
        if( $image ) {
            return wp_get_attachment_image( $image, $size );
        }
} 
// register shortcode
add_shortcode('tenue-shortcode', 'wpb_demo_shortcode');

注意:我们运行一个设置,即购物车中只能有一个产品。

共有1个答案

海鸣
2023-03-14

要从购物车中获取1个产品ID,您可以使用WC()-

所以你得到:

php prettyprint-override">function wpb_demo_shortcode() {
    // WC Cart
    if ( WC()->cart ) {
        // Loop through cart items
        foreach ( WC()->cart->get_cart() as $cart_item ) {
            $product_id = $cart_item['product_id'];
            break;
        }
        
        // Isset
        if ( isset ( $product_id ) ) {
            $image = get_field( 'tenue', $product_id );
            $size = 'full'; // (thumbnail, medium, large, full or custom size)
            
            if ( $image ) {
                return wp_get_attachment_image( $image, $size );
            }
        }
    }
} 
// register shortcode
add_shortcode( 'tenue-shortcode', 'wpb_demo_shortcode' ); 

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

  • 问题在于当我的客户尝试从购物车中编辑一个产品时。因为所有产品都有相同的ID(我只有一个产品),所以添加到购物车的最后一个产品的元加载到文本字段中。我当前使用产品id检索中的元,但该id与购物车中的所有其他产品相同。有没有其他方法可以在不使用/(如或使用会话)的情况下检索元?

  • 你在为它做什么?我在文件末尾(wp-content/plugins/woocommerce/woocommerce.php)写了这个字符串: 但当我从购物车中删除项目时,它就不起作用了! 但也不起作用

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

  • 我经营一家Woocommerce商店,该商店也提供免费产品(_常规价格=0)。客户必须选择数量并将其添加到购物车中,然后下订单才能收到产品。但这并不是Woocommerce的工作原理,它隐藏了所有价格为0的产品的“添加到购物车”链接。并且不会在购物车页面中显示它们。有没有解决这个问题的办法?非常感谢。