首页 > 解决方案 > 如何检查 WooCommerce jquery found_variation 事件中是否存在属性

问题描述

在 WooCommerce 中,我们希望在数量变化时显示额外的价格信息,但前提是变体具有与之关联的特定属性。有没有办法根据作为 found_variation 事件的一部分提供的变体对象来做到这一点?

$(document).on( 'found_variation', 'form.cart', function( event, variation ) {
/* Your code */           
});

标签: jquerywoocommercevariant

解决方案


您从哪里获得额外的价格信息?如果 Ajax 调用驻留在数据库中,您将需要一个 Ajax 调用(您在函数体中进行 Ajax 调用)。

无论如何,您可以在提供的变体对象中访问变体的属性found_variation。要查看它,请将其添加到函数主体(您当前拥有的位置/* Your code */),然后打开您的开发者控制台以查看输出。在 Chrome 中按 F12 > 转到控制台选项卡。

console.log(variation.attributes);

属性以“attribute_pa_”为前缀。

例如,如果您想在变体具有蓝色属性的情况下显示某些内容,您可以在函数体中执行此操作:

if (variation.attributes.attribute_pa_color === 'blue') {
    /* code to display HTML elements with additional price information */
}

推荐阅读