在WooCommerce购物车中回显特定的产品属性和元数据

12 浏览
0 Comments

在WooCommerce购物车中回显特定的产品属性和元数据

更新(与作者评论相关):

我想自定义WooCommerce的cart.php文件,使用Essential Grid高级插件在产品页面上显示一些工作正常的元数据。

我想显示一些产品属性字段,以及我使用Essential Grid插件的元字段创建器创建的一些自定义元字段。

为了测试,我正在使用'Height'属性(即'pa_height')和自定义字段'Age',其别名为'eg-age-cal'

目前,我已尝试使用以下代码:


还有:


但这些似乎不起作用。

我已成功使用以下代码使代码正常工作:


所以我知道代码是有效的。

我只需要帮助解决如何获取这些自定义属性和自定义字段的值。

谢谢。

0
0 Comments

问题的原因是该用户使用了一个名为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()

0