function EM_Person($person_id = false, $username = false) { if (is_array($person_id)) { if (array_key_exists('person_id', $person_id)) { $person_id = $person_id['person_id']; } elseif (array_key_exists('user_id', $person_id)) { $person_id = $person_id['user_id']; } else { $person_id = $person_id['ID']; } } elseif (is_object($person_id) && get_class($person_id) == 'WP_User') { $person_id = $person_id->ID; //create new object if passed a wp_user } if ($username) { parent::WP_User($person_id, $username); } elseif (is_numeric($person_id) && $person_id == 0) { $this->ID = 0; $this->display_name = 'Non-Registered User'; $this->user_email = 'n/a'; } else { parent::WP_User($person_id); } $this->phone = get_metadata('user', $this->ID, 'dbem_phone', true); //extra field for EM do_action('em_person', $this, $person_id, $username); }