默认情况下,将“公开显示名称”设置为用户名

时间:2016-01-10 作者:CodyBugstein

我的WordPress网站目前按用户的名字+姓氏显示用户的识别信息。

绝大多数人更愿意以用户名为人所知。我已经指导过如何手动(即通过他们的用户设置)更改他们的“公开显示名称为”,但这并不理想。

我希望新用户以他们的用户名显示为默认值。注意,我想在几个插件中反映这一点,这些插件引用“公开显示名称为”属性。

如何做到这一点?

2 个回复
SO网友:jgraup

如果您希望所有未来的用户都能使用此功能,请连接到user_register 事件并在那里更新。

拉动WP_User 使用get_userdatawp_update_user 具有新显示名称的信息。

add_action( \'user_register\', \'wpse_20160110_user_register\', 10, 1 );

function wpse_20160110_user_register ( $user_id ) {

    // get the user data

    $user_info = get_userdata( $user_id );

    // pick our default display name

    $display_publicly_as = $user_info->user_login;

    // update the display name

    wp_update_user( array (\'ID\' => $user_id, \'display_name\' =>  $display_publicly_as));
}
如果您想在每次登录时设置此选项,请挂接wp_login 使用PHP_INT_MAX.

function wpse_20160110_wp_login ( $user_login, $user ) {

    wp_update_user(array(\'ID\' => $user->ID, \'display_name\' => $user_login));

}

add_action(\'wp_login\', \'wpse_20160110_wp_login\', PHP_INT_MAX, 2);

SO网友:UAU

要在注册和概要文件更新时以编程方式设置显示名称,避免Betty经历的无限循环,必须检查是否已根据需要设置显示名称。

add_action( \'user_register\', \'set_login_as_displayname\' );
add_action( \'profile_update\', \'set_login_as_displayname\' );

function set_login_as_displayname( $user_id )
{
    $data = get_userdata( $user_id );

    if ($data->user_login != $data->display_name) {
        wp_update_user( array (\'ID\' => $user_id, \'display_name\' =>  $data->user_login));
    }
}

相关推荐

在将代码添加到函数后无法登录WordPress wp-admin。php

我在函数末尾添加以下代码。php文件,用于根据自定义帖子的帖子标题填充分类法。问题是,当我添加代码时,尝试登录wp admin时会出现以下错误。非常感谢您能帮助我们弄清楚为什么会发生这种情况。Error:错误:由于意外输出,Cookie被阻止。有关帮助,请参阅此文档或尝试支持论坛。Code: <?php function update_custom_terms($post_id) { // only update terms if