从 WooCommerce 购物车中的产品中获取 ACF 图像字段的数据
Posted
技术标签:
【中文标题】从 WooCommerce 购物车中的产品中获取 ACF 图像字段的数据【英文标题】:Get data from product in WooCommerce cart for ACF image field 【发布时间】:2021-08-01 20:53:34 【问题描述】:我店里的每个产品都有一个 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】:要从购物车中获取 1 个产品 ID,您可以在 foreach
循环中使用 WC()->cart->get_cart()
和 break
所以你得到:
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' );
【讨论】:
不知何故不显示。代码不需要在函数名中添加一些 $... 吗? @tristan 请了解短代码是如何工作的,如何正确应用它们。以上是关于从 WooCommerce 购物车中的产品中获取 ACF 图像字段的数据的主要内容,如果未能解决你的问题,请参考以下文章
ajax 上的 JS 警报添加到购物车以获取 Woocommerce 中的特定产品类别计数