更改默认Wordpress上的标签;“丢失密码页”;

更改默认Wordpress上的标签;“丢失密码页”;,wordpress,Wordpress,我正在尝试更改Wordpress丢失密码表单的默认标签,该表单显示“用户名或电子邮件”。我需要它只是阅读“电子邮件”,我不想编辑任何核心Wordpress文件。我已经通过以下方式为默认登录表单实现了这一点: global $pagenow; if ($pagenow==='wp-login.php') { add_filter( 'gettext', 'user_email_login_text', 20, 3 ); function user_email_login_text(

我正在尝试更改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\u text==='Username或e-mail'
,它将不起作用

有什么想法吗?我真的不想编写定制表单,因为这不符合我的系统工作方式


另外,我想知道为什么Wordpress在丢失密码表单上把“Email”拼写为“E-mail”,而在所有其他表单上没有破折号…

我不知道你是否准备好解决这个问题。无论如何,你的代码是最正确的。您只缺少字符串区分大小写并包含冒号。这样:
if($translated_text==='Username或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;
  }

}