сброс пароля изменение текста метки
Пожалуйста, посмотрите мой скриншот. Я хочу изменить текст метки "Новый пароль" и текст "вход". Я использовал следующий код, чтобы изменить текст подсказки.
function change_password_hint ( $text ) {
if(basename($_SERVER["SCRIPT_NAME"])=='wp-login.php' && $text == 'Hint: The password should be at least twelve characters long. To make it stronger, use upper and lower case letters, numbers, and symbols like ! " ? $ % ^ & ).'){
$text = 'Use upper and lower case letters, numbers, and symbols like ! " ? $ % ^ & ).';
}
return $text;
}
add_filter( 'gettext', 'change_password_hint' );
Как я могу изменить надпись и текст нижнего колонтитула??
1
1 answers
Если мы хотим, чтобы форма для сброса пароля выглядела так:
Тогда мы могли бы использовать следующие крючки:
/**
* Modify the password hint
*/
add_filter( 'password_hint', function( $hint )
{
return __( 'Use upper and lower case letters, numbers, and symbols like ! " ? $ % ^ & ).' );
} );
/**
* Modify 'New password' text
*/
add_action( 'validate_password_reset', function( $errors )
{
add_filter( 'gettext', 'wpse_gettext', 10, 2 );
return $message;
});
/**
* Modify 'Log in' text
*/
add_action( 'resetpass_form', function()
{
add_filter( 'gettext', 'wpse_gettext', 10, 2 );
});
Вспомогательная функция wpse_gettext
определяется как:
function wpse_gettext( $translated_text, $text )
{
// Modify gettext if there's a match
switch ( $text )
{
case 'New password' :
remove_filter( current_filter(), __FUNCTION__ );
$translated_text = __( 'Use this password, or type a new one over it' );
break;
case 'Log in' :
remove_filter( current_filter(), __FUNCTION__ );
$translated_text = __( 'Already registered before? Click here to log-in' );
$match = true;
default:
}
return $translated_text;
}
Где мы удаляем обратный вызов фильтра, как только он был использован один раз.
Мы также стараемся подключаться к ближайшим крючкам, чтобы свести к минимуму количество проверок gettext
.
Также обратите внимание на опасность использования функций gettext
в фильтре gettext
;-)
Вот почему я переместил remove_filter
над вызовами __()
, чтобы избежать бесконечных циклов.
2
Author: birgire, 2015-11-05 09:25:35