我有一个自定义页面,其中显示带有变体的产品,一个自定义字段并添加到购物车按钮。 单击添加到购物车按钮时,我需要在javascript中触发一些验证,但是如果表单未通过验证,则无法执行添加到购物车。
我想知道是否有可能实现。
首先,我尝试按照此处的说明进行操作: WooCommerce add to cart validation: prevent add to cart
它工作得很好,我希望能够使用此代码,但对我而言,这不是因为: -我使用的是自定义页面,而不是通常的woocommerce产品页面 -这意味着在验证之后,我将重定向到空白的woocommerce标准页面
这就是为什么我真的需要使用Javascript来执行此操作的原因: -添加到购物车点击时触发的javascript或jquery函数 -然后功能检查一切正常 -如果是,则可以将产品添加到购物车 -如果否,则显示警报,并且用户停留在同一页面上,没有添加任何内容。
我试图尽可能清楚。 希望我能得到一些帮助。
非常感谢。
答案 0 :(得分:0)
请尝试这种方式:
function so_validate_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations= '' ) {
<script>
jQuery(function($){
jQuery(document).on('click', '.single_add_to_cart_button', function (e) {
e.preventDefault();
// your validation here
});
});
</script>
}
add_filter( 'woocommerce_add_to_cart_validation', 'so_validate_add_cart_item', 10, 5 );