我有一个名为user的对象。
$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) "[email protected]"
["user_pass"]=>
string(34) "$P$fdsa4r3wafs43"
["user_nicename"]=>
string(19) "test-com"
["user_email"]=>
string(20) "[email protected]"
["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)
}
任何和所有的帮助表示赞赏
你在$user->profile_previous_experience
的输出中没有var_dump
字段,因为这个值是由__get()
类的“magic method”WP_User
返回的。
我假设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