如何在WooCommerce注册表单中添加条款与条件复选框
嘿,我来帮你搞定这个问题!针对你用的Woodmart主题的WooCommerce注册表单,要把条款与条件选项加进去,有几个靠谱的方案,你可以按需选择:
方法1:利用Woodmart主题自带设置(最省心)
Woodmart对WooCommerce的适配做得很到位,大概率自带这个开关:
- 登录WordPress后台,找到「Theme Settings」(主题设置)入口
- 进入后找到「WooCommerce」分类,再点击「My Account」(我的账户)子选项
- 找找有没有类似「Show Terms and Conditions on Registration」的勾选框,勾选后保存设置就行。
方法2:添加自定义代码(适合懂点代码的同学)
如果主题设置里没找到相关选项,那就用WooCommerce的钩子来手动添加。你可以把下面这段代码加到子主题的functions.php文件里,或者用「Code Snippets」这类代码片段插件来添加(更安全,不怕主题更新丢代码):
add_action( 'woocommerce_register_form', 'add_terms_and_conditions_to_registration' ); function add_terms_and_conditions_to_registration() { if ( wc_get_page_id( 'terms' ) > 0 ) { ?> <p class="form-row terms"> <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="terms" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default', isset( $_POST['terms'] ) ), true ); ?> id="terms" /> <span><?php printf( __( 'I have read and agree to the <a href="%s" target="_blank" rel="noopener noreferrer">terms and conditions</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'terms' ) ) ); ?></span> <span class="required">*</span> </label> <?php do_action( 'woocommerce_terms_and_conditions_checkbox_error' ); ?> </p> <?php } } // 验证条款是否勾选,必填校验 add_action( 'woocommerce_register_post', 'validate_terms_and_conditions_on_registration', 10, 3 ); function validate_terms_and_conditions_on_registration( $username, $email, $errors ) { if ( ! isset( $_POST['terms'] ) ) { $errors->add( 'terms_error', __( 'You must agree to the terms and conditions to register.', 'woocommerce' ) ); } }
这段代码会自动在注册表单里添加和WooCommerce风格一致的条款勾选框,还会强制用户勾选才能注册,避免遗漏。
方法3:使用插件(适合不想碰代码的同学)
如果你不想折腾代码,找个靠谱的WooCommerce注册表单插件就行,比如「User Registration for WooCommerce」这类专注注册功能的插件。安装启用后,在插件的表单编辑界面,直接拖拽添加「条款与条件」字段,还能自定义显示样式,操作很直观。
最后提醒一句:如果用代码方案,一定要用子主题或者代码片段插件,别直接修改主题的核心文件,不然主题更新后代码会丢失哦!
内容的提问来源于stack exchange,提问作者German
相关产品推荐
相关产品推荐

