我的网站前端有一个表单。我正在尝试删除“记住我”复选框,但无法使其生效。这是我的表单代码。
<?php
$args = array(
\'echo\' => true,
\'remember\' => true,
\'redirect\' => ( is_ssl() ? \'https://\' : \'http://\' ) . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'],
\'form_id\' => \'loginform\',
\'id_username\' => \'user_login\',
\'id_password\' => \'user_pass\',
\'id_remember\' => \'rememberme\',
\'id_submit\' => \'wp-submit\',
\'label_username\' => __( \'Username\' ),
\'label_password\' => __( \'Password\' ),
\'label_remember\' => __( \'Remember Me\' ),
\'label_log_in\' => __( \'Log In\' ),
\'value_username\' => \'\',
\'value_remember\' => false
);
wp_login_form( $args );
?>
我已经尝试过这段代码,但我认为这将适用于wp admin表单(它在我的表单上不起作用)。
add_action(\'login_head\', \'do_not_remember_me\');
function do_not_remember_me()
{
echo \'<style type="text/css">.forgetmenot { display:none; }</style>\';
}
关于如何正确地做到这一点,有什么想法吗?
SO网友:Rick Hellewell
查看生成的页面代码(或使用Inspect元素)以查看分配给要阻止的区域的CSS类。然后将该CSS代码添加到主题中的其他CSS中。
如果CSS类是“rememberme”,那么
.rememberme {display:none !important;}
在主题的附加CSS中(通过定制器)应该可以隐藏该块。
Added
您可以查看login\\u form\\u defaults过滤器,如
add_filter(\'login_form_defaults\', $args);
使用$参数。这应该设置
wp_login_form() 作用
。。。wp\\u login\\u表单使用的类是login-remember 关于中的第470行https://core.trac.wordpress.org/browser/tags/4.9.6/src/wp-includes/general-template.php#L0 核心代码。(查看核心代码总是很有帮助的…)
**Added **
嗯,上面的代码不正确。根据文件,这应该是可行的:
add_filter( \'login_form_defaults\', \'wp_disable_remember_me\',10,1);
function wp_disable_remember_me($args ) {
$args[\'value_remember\'] = false;
$args[\'remember\']= false;
return $args;
}
。。。。但事实并非如此。不知道为什么;已使用多个站点/主题对其进行了测试。
因此,CSS“隐藏”解决方案可能是唯一的选择。