我正在使用下面的代码片段来显示所有产品的自定义复选框,但如果ID为32的产品在购物车中,我想隐藏/不显示它。我如何修改此代码来实现这一点?提前感谢。
add_action( 'woocommerce_review_order_before_submit', 'bbloomer_add_checkout_privacy_policy', 9 );
function bbloomer_add_checkout_privacy_policy() {
woocommerce_form_field( 'privacy_policy', array(
'type' => 'checkbox',
'class' => array('form-row privacy'),
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => true,
'label' => 'I\'ve read and accept the <a href="/privacy-policy">Privacy Policy</a>',
));
}
// Show notice if customer does not tick
add_action( 'woocommerce_checkout_process', 'bbloomer_not_approved_privacy' );
function bbloomer_not_approved_privacy() {
if ( ! (int) isset( $_POST['privacy_policy'] ) ) {
wc_add_notice( __( 'Please acknowledge the Privacy Policy' ), 'error' );
}
}
1条答案
按热度按时间3ks5zfa01#
在实际显示复选框字段之前,您必须先浏览购物车,查看产品ID是否不存在。
对于验证也是如此,因为它是必填字段,否则即使不存在,它也将是必填字段。
因此,您可以获得: