How to change login labels

时间:2018-07-14 作者:William Jerome

我想知道如何在wp登录中将用户名或电子邮件地址等登录标签更改为用户名。php?

3 个回复
SO网友:Krzysiek Dróżdż

所有这些字符串/标签都通过转换函数传递,因此您可以使用gettext 筛选以修改它们。

function change_labels( $translated_text, $text, $domain ) {
    if ( \'Username\' === $text ) {
        $translated_text = \'Username new label\';
    }
    return $translated_text;
}

function register_change_label_filter() {
    add_filter( \'gettext\', \'change_labels\', 20, 3 );
}
add_action( \'login_head\', \'register_change_labels_filter\' );
// this way our filter will work only on wp-login and not everywhere on site...

SO网友:Rick Hellewell

@威廉:虽然你的解决方案可能会奏效,但这不是正确的方法(这就是为什么你投了反对票)。

您真正想做的是自定义登录页面。从此处开始:https://codex.wordpress.org/Customizing_the_Login_Form

在该页面上,您可以找到以下建议代码:

<?php
if ( ! is_user_logged_in() ) { // Display WordPress login form:
    $args = array(
        \'redirect\' => admin_url(), 
        \'form_id\' => \'loginform-custom\',
        \'label_username\' => __( \'Username custom text\' ),
        \'label_password\' => __( \'Password custom text\' ),
        \'label_remember\' => __( \'Remember Me custom text\' ),
        \'label_log_in\' => __( \'Log In custom text\' ),
        \'remember\' => true
    );
    wp_login_form( $args );
} else { // If logged in:
    wp_loginout( home_url() ); // Display "Log Out" link.
    echo " | ";
    wp_register(\'\', \'\'); // Display "Site Admin" link.
}
?>
最好是用正确的方式来做,而不是胡说八道。依我拙见

Added

如链接中所述,可以使用上述代码设置要使用的$args。只需使用过滤器:

此登录表单具有筛选器:login\\u form\\u top、login\\u form\\u middle和login\\u form\\u bottom。每个人都可以打印表单中的文本,如右图所示。

请参阅链接以了解有关该链接的详细信息,以及所引用的图像。

**已添加**

如果查看wp\\u login\\u form()函数,您将看到此处引用的源代码:https://core.trac.wordpress.org/browser/tags/4.9.7/src/wp-includes/general-template.php#L0 .

在第419行,您将看到这一行:

$args = wp_parse_args( $args, apply_filters( \'login_form_defaults\', $defaults ) );
它告诉您可以使用

add_filter(\'login_form_defaults\', \'your_login_form_fields_function\');
因此,有一个过滤器可用于更改登录表单值(请参阅此代码以了解wp\\u login\\u form函数中显示的$args参数(请参阅上面的源代码参考,从第390行开始)。

这回答了以下问题:如何使用适当的过滤器更改登录表单字段/描述。并且还表明,如果您深入研究一下代码,您可以找到可能有助于解决问题的过滤器。

SO网友:anmari

更改任何wordpress文本的另一种方法是进行“翻译”。WP默认为en-US,您可以添加(例如)en\\u-AU(澳大利亚英语)。任何未提供的翻译都将使用默认语言。你可以使用任何翻译插件或编辑器来创建你想要更改的文本的“翻译”。基本上给你的网站加上“口音”;)

结束

相关推荐

Functions.php上未定义$_GET和&_REQUEST索引

我最近尝试学习为我的自定义主题创建一个主题选项页面,这是按照stackoverflow和其他资源的教程进行的。但脚本显示错误if ($_GET[\'page\'] == basename(__FILE__)) { if (\'save\' == $_REQUEST[\'formaction\']) { foreach ($options as $value) { if( isset( $_REQUEST[ $value[\'id\']