Php 电子商务注册时需要设置AutomateWoo复选框
AutomateWO插件在注册部分(用户未登录时位于我的帐户页面)添加了一个复选框字段,我正在尝试将其设置为必需 我不希望人们能够在不勾选此框的情况下注册 该框是一个选项,显示如下:Php 电子商务注册时需要设置AutomateWoo复选框,php,jquery,wordpress,woocommerce,registration,Php,Jquery,Wordpress,Woocommerce,Registration,AutomateWO插件在注册部分(用户未登录时位于我的帐户页面)添加了一个复选框字段,我正在尝试将其设置为必需 我不希望人们能够在不勾选此框的情况下注册 该框是一个选项,显示如下: <p class="automatewoo-optin form-row"> <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox"&g
<p class="automatewoo-optin form-row">
<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
<input type="checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" name="automatewoo_optin" id="automatewoo_optin">
<span class="automatewoo-optin__checkbox-text">I want to receive updates about products and promotions.</span>
</label>
</p>
我还尝试过使用woocommerce\u register\u form
和woocommerce\u forms\u field
挂钩
“注册”表单的图像预览,复选框位于底部
我如何在WooCommerce注册部分设置AutomateWO复选框
编辑: 在某些情况下,您可能需要将第二个“required”替换为“true”
jQuery(文档).ready(函数($){
$('input[name=“automatewoo_optin”]”)。prop('required','required');
});
使用jQuery。要么添加到主题脚本中,要么添加到wp\u页脚中
,然后换行到
要使位于WooCommerce注册表上的复选框字段成为必需字段,请使用以下命令:
//验证商业登记表自定义字段。
添加操作(“woocommerce\u register\u post”、“wc\u validate\u automatewoo\u optin\u字段”,10,3);
函数wc\u validate\u automatewoo\u optin\u字段($username、$email、$validation\u errors){
如果(!isset($_POST['AutomateWO_optin'])| |为空($_POST['AutomateWO_optin'])){
$validation\u errors->add('optin\u error','uuuuu('复选框是必填字段,'woocommerce'));
}
返回$validation\u错误;
}
然后,还可以选择使用以下选项使复选框字段成为可视必需字段:
add_filter( 'woocommerce_register_form_start', 'bd_require_automatewoo_optin');
function bd_require_automatewoo_optin( $fields ) {
$fields['automatewoo_optin']['required'] = true;
return $fields;
}
//根据需要标记复选框字段
添加过滤器(“woocommerce\u register\u form\u end”、“add\u automatewoo\u optin\u jquery”);
函数add_automatewoo_optin_jquery(){
?>
(函数($){
$('p.automatewoo-optin').addClass('validate-required');
$('p.automatewoo-optin>label>span')。追加('*');
})(jQuery);
啊,我没有想到这一点。这个jQuery自动勾选复选框。我们如何使它不选中字段,但用户必须在提交表单之前勾选它?+1感谢Loic这个答案效果更好,在使用Howard的jQuery方法进行一些测试后,我在签出页面上发现了一个问题,该字段被忽略并重新设置注册是可以的,无需勾选它。@AlexBanks您在我的帐户上的WooCommerce注册问题中提出的问题,我的代码只是回答这个问题……由于我的答案是回答您最初的问题,并且有效,您可以请回答,谢谢。现在结帐时,您必须问另一个问题,并给出相关生成的h此选项字段的tml代码。
jQuery(document).ready(function($){
$('input[name="automatewoo_optin"]').prop('checked', true);
});