在WooCommerce购物车中回显特定的产品属性和元数据
在WooCommerce购物车中回显特定的产品属性和元数据
更新(与作者评论相关):
我想自定义WooCommerce的cart.php文件,使用Essential Grid高级插件在产品页面上显示一些工作正常的元数据。
我想显示一些产品属性字段,以及我使用Essential Grid插件的元字段创建器创建的一些自定义元字段。
为了测试,我正在使用'Height'
属性(即'pa_height'
)和自定义字段'Age'
,其别名为'eg-age-cal'
。
目前,我已尝试使用以下代码:
还有:
但这些似乎不起作用。
我已成功使用以下代码使代码正常工作:
所以我知道代码是有效的。
我只需要帮助解决如何获取这些自定义属性和自定义字段的值。
谢谢。
问题的原因是该用户使用了一个名为Essential Grid的商业插件来创建与其WooCommerce产品相关的一些自定义字段和属性。由于作者从未使用过该插件,并且不知道数据存储在插件的数据库中的位置,因此无法提供帮助。
解决方法是:
- 在数据库中搜索/探索自定义字段数据。
- 在Essential Grid插件作者的支持论坛中搜索/提问。
对于定义在产品中的属性,用户可以使用get_post_meta()函数来获取所需的数据。另外,还可以使用get_attributes()函数来获取产品属性。此外,通过WC()->cart语法可以获取购物车中的数据和商品。
基于此,可以使用以下代码来获取购物车中的每个产品的属性值数组:
foreach ( WC()->cart->get_cart() as $cart_item ) { $product = $cart_item['data']; if(!empty($product)){ // 获取定义的产品属性 $product_attr = $product->get_attributes(); // 显示属性值数组(仅用于测试和查看输出) echo var_dump( $product_attr ) . ''; } }
此外,还可以根据上述线程中的解决方法使用wc_get_product_terms()来获取自定义属性的值。
最后,用户提出了一个关于多个属性值的问题。如何在购物车、结账和订单电子邮件中显示客户在产品页面上选择的属性值。但是由于该问题涉及到商业插件的使用,因此很难在此处提供帮助。
参考资料:
- WC_Product类 - get_attributes()
- WooCommerce - 获取自定义产品属性
- 在结账的WooCommerce页面上获取购物车产品ID,以显示产品图片
- WordPress代码参考 - get_post_meta()