重置密码标签文本更改

时间:2015-11-05 作者:Akash

enter image description here

请看我的截图。我想更改“新密码”标签文本和“登录”文本。我使用以下代码来更改提示文本。

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 个回复
最合适的回答,由SO网友:birgire 整理而成

如果我们希望重置密码表单如下所示:

reset

然后我们可以使用以下挂钩:

/**
 * 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 ); 
});
Thewpse_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 高于__() 调用,以避免无限循环。