我有一个称为用户的对象。
$user = $data['user'];
我可以通过执行$user->first_name
直接访问它的属性,然后我会得到值。但是,我需要查看对象中的所有内容,因为我想挑选数据。
我尝试了几种不同的方法,但是没有什么能满足我的需求。我已经尝试过foreach
,get_object_vars
,但仍然无法正常使用。
以下是我在使用var_dump($user)
时看到的内容的转储:
object(WP_User)#3017 (8) {
["data"]=>
object(stdClass)#2997 (10) {
["ID"]=>
string(3) "215"
["user_login"]=>
string(20) "test@gmail.com"
["user_pass"]=>
string(34) "$P$fdsa4r3wafs43"
["user_nicename"]=>
string(19) "test-com"
["user_email"]=>
string(20) "test@gmail.com"
["user_url"]=>
string(0) ""
["user_registered"]=>
string(19) "2019-03-21 00:58:47"
["user_activation_key"]=>
string(0) ""
["user_status"]=>
string(1) "0"
["display_name"]=>
string(26) "Full display"
}
["ID"]=>
int(215)
["caps"]=>
array(1) {
["um_instructor"]=>
bool(true)
}
["cap_key"]=>
string(15) "wp_capabilities"
["roles"]=>
array(1) {
[0]=>
string(13) "um_instructor"
}
["allcaps"]=>
array(2) {
["read"]=>
bool(true)
["um_instructor"]=>
bool(true)
}
["filter"]=>
NULL
["site_id":"WP_User":private]=>
int(1)
}
任何人都将受到感激
答案 0 :(得分:1)
在$user->profile_previous_experience
的输出中没有var_dump
字段,因为此值是由WP_User
类的“魔术方法” __get()
返回的。
我假设profile_previous_experience
是用户的自定义字段。您可以使用get_user_meta
函数来获取自定义字段的值:
$user_experience = get_user_meta($user->ID, 'profile_previous_experience');
您还可以使用相同的功能(通过省略第二个参数)来获取all the customfields:
$user_cfs = get_user_meta($user->ID);
如果您不熟悉PHP中的“魔术方法”,请查看官方PHP文档中的properties overloading examples