【发布时间】:2018-10-13 14:16:28
【问题描述】:
适用于小型家庭项目,并希望将“继续结帐”按钮下方的复选标记选项添加到我的 Woocommerce 网站的购物车页面中。我找到了这个功能,就是添加那个选项:
add_action( 'woocommerce_after_cart', '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' => 'By proceeding, you are agreeing to our <a href="/termsandconditions">Terms and Conditions</a>',
));
}
// Show notice if customer does not tick
add_action( 'woocommerce_proceed_to_checkout', 'bbloomer_not_approved_privacy' );
function bbloomer_not_approved_privacy() {
if ( ! (int) isset( $_POST['privacy_policy'] ) ) {
wc_add_notice( __( 'Please acknowledge the Terms and Conditions' ), 'error' );
}
}
但是这个功能好像有点不对劲,因为不管勾选与否,客户都可以进入结账页面。我想确保只有选中复选框的客户才能进行结帐。相反,警告消息将显示在顶部。
有人能告诉我这个功能哪里出了问题,或者给我指出一些可行的解决方案吗?提前致谢。这是我之前发布的此功能的当前外观。
【问题讨论】:
-
只是一个随意的猜测......添加“必需”类。一些主题使用它来制作必填字段。否则stackoverflow.com/questions/50485012/… 应该会有所帮助。
-
您能否将完整的代码发布为asnwer,这样我可以接受吗?
-
抱歉,值班电话。如果您想为您完成它,只需使用 Loic 的答案即可。他知道他的东西,所以我不会争辩,我愿意。
-
@DoritiHenridgz 刚刚将计时器延迟更新为更小的值(3500 毫秒而不是 10000)
标签: php jquery wordpress woocommerce cart