如何写入wp-USERS表

时间:2014-10-17 作者:Mike

我正在尝试修改一个登录插件,让新用户在注册时输入要在网站上显示的显示名称。我知道显示名称位于数据库的wp users表中,但无法对其进行写入。

<小时>

Edit

<?php

function wps_pro_login_registration_errors( $errors ) {
    if ( empty( $_POST[\'first_name\'] ) )
        $errors->add( \'empty_first_name\', \'<strong>ERROR</strong>: Please enter your first name.\' );
    if ( empty( $_POST[\'last_name\'] ) )
        $errors->add( \'empty_last_name\', \'<strong>ERROR</strong>: Please enter your last name.\' );
    if ( empty( $_POST[\'nickname\'] ) )
        $errors->add( \'empty_nickname\', \'<strong>ERROR</strong>: Please enter your display name.\' );
    return $errors;
}
add_filter( \'registration_errors\', \'wps_pro_login_registration_errors\' );
function wps_pro_login_user_register( $user_id )
{
    if (!empty($_POST[\'first_name\']))
        update_user_meta($user_id, \'first_name\', $_POST[\'first_name\']);
    if (!empty($_POST[\'last_name\']))
        update_user_meta($user_id, \'last_name\', $_POST[\'last_name\']);
    if ( !empty( $_POST[\'nickname\'] ) )
        update_user_meta( $user_id, \'nickname\', $_POST[\'nickname\'] );
}
add_action( \'user_register\', \'wps_pro_login_user_register\' );

?>
写入wp_usermeta表很好,但由于显示名称在wp_users表中,因此不起作用。

我添加了以下内容,但没有成功。

if ( empty( $_POST[\'displayname\'] ) )
        $errors->add( \'empty_displayname\', \'<strong>ERROR</strong>: Please enter your display name.\' );
在上部,在下部

if ( !empty( $_POST[\'displayname\'] ) )
        update_user_meta( $user_id, \'displayname\', $_POST[\'displayname\'] );

1 个回复
SO网友:Prasad Nevase

您需要使用wp\\u update\\u user函数来更新用户信息。请参见以下代码:

<?php

$user_id = 1; /* It would be dynamic in your case */

$display_name = $_POST[\'display_name\'];

$user_id = wp_update_user( array( \'ID\' => $user_id, \'display_name\' => $display_name ) );

if ( is_wp_error( $user_id ) ) {
    // There was an error, probably that user doesn\'t exist.
} else {
    // Success!
}

?>

结束

相关推荐

Add CPT values to Database

我不确定这是不是件容易的事。我有一个插件,具有定制帖子类型所需的所有功能:过滤器、导航。。。我需要为这个CPT创建很多帖子(使用分类法)(需要做很多工作才能正确创建它)。所以我只想添加一次这个自定义帖子,而不是每次我想利用我在其他网站的插件。。。实现这一目标的最佳方式是什么?我是不是每次都要进行某种形式的进出口贸易?我应该利用wp\\u insert\\u post并对帖子的内容进行硬编码吗?为我的英语道歉,我不知道我是否已经解释过了。。。谢谢