如何在WooCommerce jquery found_variation事件中检查属性是否存在 &



在WooCommerce中,我们希望在数量变化时显示额外的价格信息,但仅当变体具有与之相关的特定属性时。是否有一种方法可以基于作为found_variation事件的一部分提供的变体对象来做到这一点?

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

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

无论如何,您可以访问found_variation提供的变量对象中的变量属性。要查看它,请将其添加到函数体(当前有/* Your code */的地方),并打开开发人员控制台以查看输出。在Chrome中按F12;进入控制台选项卡

console.log(variation.attributes);

属性以'attribute_pa_'作为前缀。

例如,如果您希望显示某个变量具有blue color属性的内容,则可以在函数体中这样做:

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