我正在尝试修改一个登录插件,让新用户在注册时输入要在网站上显示的显示名称。我知道显示名称位于数据库的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\'] );