Изменение меток в wp-login.php: замена "Username" на "Email"
Как можно изменить метки формы wp-login.php?
Я использую email для входа, поэтому мне нужно заменить username на email.
Ответ по этой ссылке кажется устаревшим или просто не работает с SSL: Функция для изменения метки (Username) в основном файле WordPress (wp-includes/general-template.php)
Я попробовал это в своем файле функций, но это не сработало:
// Функция для изменения метки "Username" на "Email"
function wpse60605_change_username_label( $defaults ) {
$defaults['label_username'] = __( 'Email' );
return $defaults;
}
// Добавляем фильтр для формы входа
add_filter( 'login_form_defaults', 'wpse60605_change_username_label' );
Нашел это здесь: https://wordpress.org/support/topic/how-to-change-the-text-labels-in-userpass-box-on-login-page/
Другие решения не сработали, но это помогло.
На всякий случай, если кому-то пригодится.
add_filter( 'gettext', 'register_text' );
add_filter( 'ngettext', 'register_text' );
function register_text( $translated ) {
$translated = str_ireplace(
'Username or Email Address',
'Ваш собственный текст',
$translated
);
return $translated;
}
Нашел ответ на stackoverflow вскоре после публикации этого вопроса:
https://stackoverflow.com/questions/12825865/change-wordpresss-login-label-username
Используется фильтр gettext вместо каких-либо функций WordPress
Простое решение: https://stackoverflow.com/questions/12825865/change-wordpresss-login-label-username/48502233#48502233
Muhammad Bilal
Помимо изменения экрана входа, я хотел удалить поле "Имя пользователя" из формы добавления нового пользователя в админке. Этот код, добавленный в functions.php, помог решить задачу:
function hide_username_field(){
// Скрываем поле имени пользователя в форме добавления нового пользователя в админке
echo "\n" . '<script type="text/javascript">jQuery(document).ready(function($) {
$(\'input#user_login\').parent().parent().hide();
$(\'input#email\').change(function() {
$(\'input#user_login\').val($(\'input#email\').val());
});
});
</script>' . "\n";
}
add_action('admin_head','hide_username_field');