Как я могу сбросить весь объект и его значения? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть объект с именем 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) "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)
    }

Любая помощь приветствуется

1 Ответ

1 голос
/ 21 марта 2019

У вас нет поля $user->profile_previous_experience на выходе var_dump, потому что это значение возвращается "магическим методом" __get() класса WP_User.

Я предполагаю, что profile_previous_experience является пользовательским полем пользователя.Вы можете использовать функцию get_user_meta для получения значения настраиваемого поля:

$user_experience = get_user_meta($user->ID, 'profile_previous_experience');

Вы также можете извлечь все настраиваемые поля с помощью той же функции (опуская второйпараметр):

$user_cfs = get_user_meta($user->ID);

Если вы не знакомы с «магическими методами» в PHP, взгляните на примеры перегрузки свойств в официальных документах PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...