Keine first_name- oder user_firstname-Eigenschaft im WP_User-Objekt

Ich schreibe ein einfaches Plugin. Hier ist mein Code:

$new_user = get_userdata($user_id); $first_name1 = $new_user->user_firstname; $last_name1 = $new_user->user_lastname; echo ""; //returns:  $first_name2 = $new_user-first_name; $last_name2 = $new_user->last_name; echo ""; //returns:  

Nach dem Codex sollte das funktionieren, aber wenn ich $first_name oder $last_name sie leer. Seltsamerweise funktioniert das:

  $id = $new_user->ID; 

Mache ich etwas falsch?

AKTUALISIEREN:

Ich var_dump ed $new_user und diese Eigenschaften sind nicht da $new_user ! Ist das so, weil ich es von einem Plugin im Verzeichnis / mu-plugins aus anrufe? Werden diese Eigenschaften später hinzugefügt?

 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 } 

Solutions Collecting From Web of "Keine first_name- oder user_firstname-Eigenschaft im WP_User-Objekt"

Sie müssen die function get_user_meta

 $new_user = get_userdata($user_id); // get all the meta data of the user $new_user_data = get_user_meta( $user_id ); // get the first name of the user as a string $new_user_firstname = get_user_meta( $user_id, 'first_name', true ); 

Auf der gleichen Seite, auf die Sie verwiesen haben, sollten diese beiden Zeilen wie folgt aussehen:

 $first_name = $new_user->first_name; $last_name = $new_user->last_name; 

Bitte überprüfen Sie diesen Abschnitt .

Leider bin ich gerade über das gleiche Problem gestolpert und Ihre Theorie, dass mu-plugin ein Faktor sein könnte, ist völlig richtig.

Lustigerweise ist es nicht so, dass der Code selbst in einer PHP-Datei mit dem mu-plugin liegt, sondern dass der Aufruf dort initiiert wird. Zum Beispiel hatte ich eine “add_action” -Zeile in der php-Datei, die sich in mu-plugins befindet, aber tatsächlich eine function in meiner functions.php-Datei aufgerufen hat. Das Ergebnis war, dass ich den Vor- und Nachnamen nicht sah. Ich habe diese Zeile “add_action” in meine functions.php verschoben und dann habe ich die Metadaten wie erwartet erhalten!

Es ist also nicht so eine Antwort, aber ich wollte bestätigen, dass ich diese aus mu-plugins herausholen muss, um das gewünschte Ergebnis zu erhalten. Ich habe mich noch nicht näher mit dem WP-Code befasst, um zu sehen, ob es Hinweise darauf gibt, warum dies der Fall ist. Ich beabsichtige jedoch, einen Fehlerbericht zu erstellen.

PS Ich habe das auf WP 3.4 und 3.4.2 getestet