我正在尝试更改Wordpress丢失密码表单的默认标签,其中显示“用户名或电子邮件”。我需要它只是阅读“电子邮件”,我不想编辑任何核心Wordpress文件。我已经使用以下方法为默认登录表单实现了这个:
global $pagenow;
if ($pagenow==='wp-login.php') {
add_filter( 'gettext', 'user_email_login_text', 20, 3 );
function user_email_login_text( $translated_text, $text, $domain ) {
if ($translated_text === 'Username') {
echo $translated_text;
$translated_text = 'Email';
}
return $translated_text;
}
}
这似乎也适用于由单个单词组成的标签的其他默认表单。但是,如果我将if
条件扩充为包含| $translated_text === 'Username or e-mail'
,则无效。
有什么想法吗?我真的不想编写一个定制的表单,因为这不符合我的系统的工作方式。
此外,我想知道为什么Wordpress在丢失的密码表单上将“电子邮件”拼写为“电子邮件”,但没有其他表格上的破折号......
答案 0 :(得分:0)
我不知道你是否已经解决了这个问题。无论如何,你的代码是最正确的。您只是错过了字符串区分大小写并包含冒号。像这样:if ($translated_text === 'Username or E-mail:')
无需回复$translated_text
这适用于我的安装:
global $pagenow;
if ($pagenow==='wp-login.php') {
add_filter( 'gettext', 'user_email_login_text', 20, 3 );
function user_email_login_text( $translated_text, $text, $domain ) {
if ($translated_text === 'Username or E-mail:') {
$translated_text = 'Email';
}
return $translated_text;
}
}