我在写一个基本插件。这是我的密码:
$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: <>根据法典,这应该是可行的,但是当我回显$first_name或$last_name时,它们是空的。奇怪的是,这确实有效:
$id = $new_user->ID;我做错了什么吗?
更新:
我var_dumped $new_user和那些属性不在那里!这是因为我是在/mu目录中的插件中调用它的吗?这些属性稍后会被添加吗?
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 } UPDATE2:
我试过这个:
$user_meta = get_user_meta( $new_user->ID );
var_dump($user_meta);我得到了这个(last_name和first_name是空的,尽管它们是在用户的配置文件中定义的):
array(11) { ["wp_user_level"]=> array(1) { [0]=> string(1) "0" } ["show_admin_bar_front"]=> array(1) { [0]=> string(4) "true" } ["wp_capabilities"]=> array(1) { [0]=> string(32) "a:1:{s:10:"subscriber";s:1:"1";}" } ["use_ssl"]=> array(1) { [0]=> string(1) "0" } ["admin_color"]=> array(1) { [0]=> string(5) "fresh" } ["comment_shortcuts"]=> array(1) { [0]=> string(5) "false" } ["rich_editing"]=> array(1) { [0]=> string(4) "true" } ["description"]=> array(1) { [0]=> string(0) "" } ["nickname"]=> array(1) { [0]=> string(7) "emerson" } ["last_name"]=> array(1) { [0]=> string(0) "" } ["first_name"]=> array(1) { [0]=> string(0) "" } }发布于 2012-08-17 01:59:34
用户的名字和姓氏存储在user_meta中。
元数据
因此,例如,如果您想访问所有这些数据,请尝试如下:
$user_meta = get_user_meta( $new_user->ID );或者,如果您想访问单个元值,请尝试如下:
$last_name = get_user_meta( $new_user->ID, 'last_name', true );发布于 2020-01-13 22:21:29
您要查找的数据已经在函数WP_USER ()返回给您的get_userdata对象中。要访问用户的名和姓,只需执行以下操作:
# 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;参考资料:用户/
发布于 2012-11-22 12:08:26
我想你就是那个在Wordpress StackExchange上问东西StackExchange的人。
这本身并不是一个答案,但一个解释似乎是,当从mu代码调用这些元字段时,WP平台本身就有一个bug。
我最近也经历过这种情况,我的functions.php中有一些在user_register钩子上被调用的代码。当用定义这个钩子时,我得到了您报告的问题。当在我的functions.php中定义这个钩子时,它工作得很好。
https://stackoverflow.com/questions/11995588
复制相似问题