2015-04-15 2 views
1

Я пытаюсь использовать gettext для изменения полей «Username» и «Email Address» на моей странице регистрации WordPress. Мне нужно, чтобы они были изменены на странице регистрации. Я использую функцию для «Username», но то же самое не работает для «Email Address». Я также хотел бы выяснить, как убедиться, что он не меняет ярлык на странице входа в систему, только на странице регистрации.gettext не работает для адреса электронной почты

function username_change($translated_text, $text, $domain) { 
     if ($text == 'Username') { 
      $translated_text = 'Email Address * (Will be used as username)'; 
     } 
     return $translated_text; 
} 
add_filter('gettext', 'username_change', 20, 3); 

function email_change($translated_text, $text, $domain) { 
     if ($text == 'Email Address ') { 
      $translated_text = 'Confirm Email'; 
     } 
     return $translated_text; 
} 
add_filter('gettext', 'email_change', 10, 3); 
+0

ли трейлинг пространство в строке «Адрес электронной почты» преднамеренно? 'if ($ text == 'Адрес электронной почты')' – Duroth

+0

Это было. Я просто пробовал разные вещи. Существует технически * для представления требуемого поля, поэтому я попытался с пространством и *, чтобы увидеть, будет ли это работать. –

ответ

2

В случае, если вы используете страницу регистрации WordPress по умолчанию - /wp-login.php?action=register, вы должны проверить «Отправить» вместо «Адрес электронной почты», как это:

function email_change($translated_text, $text, $domain) { 
     if (!empty($_GET['action']) && $_GET['action'] == 'register' && $text == 'E-mail') { 
      $translated_text = 'Confirm Email'; 
     } 
     return $translated_text; 
} 
add_filter('gettext', 'email_change', 10, 3); 
Смежные вопросы