如何通过代码片段或子主题实现WooCommerce登录表单默认勾选“记住我”
实现WooCommerce登录表单默认勾选“记住我”(避免插件更新丢失设置)
方法一:使用钩子函数(推荐)
通过woocommerce_login_form_rememberme过滤器钩子直接修改“记住我”复选框的输出,无需修改模板文件,插件更新后设置不会丢失。将以下代码添加到子主题的functions.php文件中,或者使用代码片段插件(如Code Snippets)插入:
add_filter( 'woocommerce_login_form_rememberme', 'default_check_remember_me' ); function default_check_remember_me( $html ) { // 替换默认的复选框HTML,添加checked属性 return str_replace( '<input name="rememberme" type="checkbox" id="rememberme" value="forever" />', '<input name="rememberme" type="checkbox" id="rememberme" value="forever" checked="checked" />', $html ); }
方法二:子主题覆盖模板文件
如果你需要对登录表单做更多自定义修改,可以通过子主题覆盖WooCommerce的模板文件,具体步骤如下:
- 找到WooCommerce插件目录下的模板文件:
wp-content/plugins/woocommerce/templates/myaccount/form-login.php - 将该文件复制到你的子主题目录中,创建对应路径:
wp-content/themes/你的子主题名称/woocommerce/myaccount/form-login.php(如果目录不存在,手动新建) - 打开子主题中的
form-login.php文件,找到“记住我”复选框的代码行,修改为:
<input name="rememberme" type="checkbox" id="rememberme" value="forever" checked="checked" />
- 保存文件即可,WooCommerce更新时不会覆盖子主题内的模板文件。
两种方法都能实现默认勾选“记住我”的效果,钩子函数更轻量化,适合仅修改复选框状态的场景;子主题覆盖则适合需要对登录表单进行更多布局或内容调整的情况。
内容的提问来源于stack exchange,提问作者Loran Hugo
相关产品推荐
相关产品推荐

