Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得Wordpress用户';WP_用户对象的名字?_Wordpress - Fatal编程技术网

如何获得Wordpress用户';WP_用户对象的名字?

如何获得Wordpress用户';WP_用户对象的名字?,wordpress,Wordpress,我正在写一个基本的插件。这是我的密码: $new_user = get_userdata($user_id); //$user_id is passed as a parameter $first_name1 = $new_user->user_firstname; $last_name1 = $new_user->user_lastname; echo "<" . $first_name1 . $last_name1 . ">"; //retu

我正在写一个基本的插件。这是我的密码:

    $new_user = get_userdata($user_id); //$user_id is passed as a parameter

$first_name1 = $new_user->user_firstname;
$last_name1 = $new_user->user_lastname;
    echo "<" . $first_name1 . $last_name1 . ">";
    //returns: <>

$first_name2 = $new_user-first_name;
$last_name2 = $new_user->last_name;
    echo "<" . $first_name2 . $last_name2 . ">";
    //returns: <>
我做错什么了吗

更新:

I
var\u dump
ed
$new\u user
这些属性不在那里!这是因为我在/mu plugins目录下的插件中调用它吗?这些属性是以后添加的吗

object(WP_User)#334 (7) { ["data"]=> object(stdClass)#330 (10) { ["ID"]=> string(3) "758" ["user_login"]=> string(7) "emerson" ["user_pass"]=> string(34) "$P$BB2PuvRbyGUSVZR1M8FLSujPvMO2MW0" ["user_nicename"]=> string(7) "emerson" ["user_email"]=> string(16) "123esl@gmail.com" ["user_url"]=> string(0) "" ["user_registered"]=> string(19) "2012-08-17 01:03:27" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0" ["display_name"]=> string(7) "emerson" } ["ID"]=> int(758) ["caps"]=> array(1) { ["subscriber"]=> string(1) "1" } ["cap_key"]=> string(15) "wp_capabilities" ["roles"]=> array(1) { [0]=> string(10) "subscriber" } ["allcaps"]=> array(15) { ["read"]=> bool(true) ["level_0"]=> bool(true) ["read_questions"]=> bool(true) ["read_answers"]=> bool(true) ["publish_questions"]=> bool(true) ["immediately_publish_questions"]=> bool(true) ["publish_answers"]=> bool(true) ["read_private_forums"]=> bool(true) ["publish_topics"]=> bool(true) ["edit_topics"]=> bool(true) ["publish_replies"]=> bool(true) ["edit_replies"]=> bool(true) ["assign_topic_tags"]=> bool(true) ["access_s2member_level0"]=> bool(true) ["subscriber"]=> string(1) "1" } ["filter"]=> NULL } 
更新2:

我试过这个:

$user_meta = get_user_meta( $new_user->ID );
var_dump($user_meta);
我得到了这个结果(姓和名都是空的,即使它们是在用户的配置文件中定义的):


用户的名字和姓氏存储在user_meta中

例如,如果您想访问所有这些数据,请尝试以下方法:

$user_meta = get_user_meta( $new_user->ID );
$last_name = get_user_meta( $new_user->ID, 'last_name', true );
或者,如果要访问单个元值,请尝试以下操作:

$user_meta = get_user_meta( $new_user->ID );
$last_name = get_user_meta( $new_user->ID, 'last_name', true );

我想你就是在Wordpress StackExchange中问过问题的那个人

这本身并不是一个答案,但一个解释似乎是,当从mu插件代码调用这些元字段时,WP平台本身存在一个bug


我最近也经历过这种情况,在functions.php中有一些代码是在user_register hook上调用的。当这个钩子在mu插件中定义时,我得到了您报告的问题。当在my functions.php中定义该钩子时,它工作正常。

您要查找的数据已经在函数get\u userdata()返回给您的WP\u USER对象中。要访问用户的名字和姓氏,只需执行以下操作:

# Retrieve the user's data (here we suppose, of course, the user exists)
$new_user = get_userdata( $user_id );
# Get the user's first and last name
$first_name = $new_user->first_name;
$last_name = $new_user->last_name;

参考:

var\u dump($new\u user);您将确切地看到该对象中的内容和不可用的内容。这些属性丢失了!我刚刚用var_dump更新了这个问题。我不明白为什么没有这些属性。您必须将ID传递给
get\u user\u meta
函数。请尝试
$new\u user->first\u name
。当您
var\u dump
时,它不会显示,但它就在那里。我也尝试过,但它不起作用。在使用
get\u user\u meta()
定义了$last\u name之后,我
var\u dump
ed
$last\u name
,它是空的。您是否确实为$new\u user设置了该信息?你看到了usermeta的结构,对吗?当信息被设置时,它应该存在于那里……是的。我更新了这个问题来说明如何操作:
$new\u user=get\u userdata($user\u id)我知道定义了$new_user,因为定义了一些属性。这就是奇怪的部分。为什么定义了$new_user->ID而没有定义其他属性?看起来您实际上没有设置这些属性,因此它们是空的。。尝试在WP管理面板中编辑您的用户信息,我打赌它们会显示出来。:)或者只需修改/保存WP_用户对象以及您想要的任何元$新用户->名字='Emerson';如果无法返回这些属性,如何手动设置它们?