woocommerce_add_to_cart_validation
将产品id作为第二个参数传递给回调函数,因此可以如下方式访问它:
function custom_fields_validation( $passed_validation, $product_id ) {
if( isRecurring( $product_id ) ) {
if ( empty( $_POST[\'inputday\']) ){
wc_add_notice( __( \'Please select field 1;\', \'woocommerce\' ), \'error\' );
return false;
}
if ( empty( $_POST[\'inputtime\'] )){
wc_add_notice( __( \'Please select field 2;\', \'woocommerce\' ), \'error\' );
return false;
}
}
return $passed_validation;
}
add_filter( \'woocommerce_add_to_cart_validation\', \'custom_fields_validation\', 10, 2 );
另外,请注意
woocommerce_add_to_cart_validation
是一个过滤器,不是一个动作,所以我使用
apply_filters
而不是
add_action
. 我还修复了一个语法错误,其中在
\'custom_fields_validation\'
.
我还更新了函数以返回当前的验证状态。否则你可能会回来true
即使之前的验证失败。