Wordpress 在functions.php中添加一个钩子后,limit login插件不会';t显示值
我有麻烦,因为我不能显示计数器值的“限制登录尝试重新加载”插件后,添加了一个钩子,以改变错误消息的内容 我正在使用下面的钩子来更改内容Wordpress 在functions.php中添加一个钩子后,limit login插件不会';t显示值,wordpress,Wordpress,我有麻烦,因为我不能显示计数器值的“限制登录尝试重新加载”插件后,添加了一个钩子,以改变错误消息的内容 我正在使用下面的钩子来更改内容 add_filter('login_errors', create_function('$a', "return '<b>Error: </b> Wron Username or Password';")); add_filter('login_errors',create_函数('a','return'错误:Wron用户名或密码';
add_filter('login_errors', create_function('$a', "return '<b>Error: </b> Wron Username or Password';"));
add_filter('login_errors',create_函数('a','return'错误:Wron用户名或密码';));
若我不使用那个钩子,它会工作得很好,但模板是乱七八糟的。有什么建议吗 首先,不推荐使用
create_function()
函数。您可以这样尝试:
function my_login_errors_function(){
return 'Error: Wrong Username or Password';
}
add_filter('login_errors', 'my_login_errors_function');
但是,这并不能解决主要问题,即您的函数会将每个登录错误文本更改为我们返回的字符串
过滤器就像传送带上的机器,接收某些东西并将其传递到下一步。但从函数的编写方式来看,它是一台完全忽略输入内容的机器,总是输出相同的内容
如果只想替换特定的登录错误消息,则必须首先检查现有文本(过滤机器的输入)以查看它是否与要替换的文本匹配,然后才返回其他内容(否则返回原始参数的值)
可能发生的情况是插件使用登录错误来显示计数,但是由于您的函数覆盖了每个错误消息,因此该计数被覆盖
function my_login_errors_function( $error ){
if( $error === 'The error message I want to replace' ){
return 'Error: Wrong Username or Password';
}
return $error;
}
add_filter( 'login_errors', 'my_login_errors_function' );