In welchem ​​Teil des WordPress -Kerns werden die Benutzertabelle und die USERMETA -Tabelle verbunden?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/7981

Frage

Ich habe versucht, herauszufinden, wo im massiven Dschungel von WordPress Klassen enthalten. Die UsMeta -Tabelle ist an die Benutzertabelle verbunden, und wenn ja, wie funktioniert es?

Die einzige verwirrende Sache an der UsMeta -Tabelle für mich ist, dass sie die Schlüssel-/Wertfelder für die Datenbankfelder und nicht die tatsächlichen Werte wie First_Name oder Last_Name verwendet. Woher weiß WordPress, welche Felder standardmäßig herausziehen sollen, und gibt es Haken, Aktionen und Filter zum Hinzufügen und Abrufen von Daten aus dem Feld UsMeta?

War es hilfreich?

Lösung

Ich bin nicht zu 100%, was Sie fragen, es scheint einige Fragen zu sein? Aber hier geht:

 $meta_value = get_user_meta($user_id, $key, $single);

Zum Beispiel:

 $first_name = get_user_meta($user_id, 'first_name', true);

Was das Hinzufügen von Hooks angeht, denke ich, dass diese Antwort das sein könnte, wonach Sie suchen?

AKTUALISIEREN

Basierend auf einigen Follow -up -Kommentaren füge ich hinzu:

  1. Die Funktion get_user_metavalues($user_ids) aus /wp-includes/user.php Gibt ein Array von Benutzerdatenarrays zurück.

  2. Die Funktion get_userdata() Ruft Benutzerwerte mithilfe der Nutzungswerte ab get_user_metavalues($user_ids) aus /wp-includes/pluggable.php und gibt ein Benutzerdatenobjekt zurück.

  3. Benutzer -Meta wird über die generischen Metadatenfunktionen verwaltet /wp-includes/meta.php Also, wenn Sie nach einem SQL suchen JOIN Zwischen WP_USERS und WP_USUMETA finden Sie wahrscheinlich keine. Diese Datei enthält diese Funktionen:

add_metadata($meta_type,$object_id,$meta_key,$meta_value,$unique=false)
update_metadata($meta_type,$object_id,$meta_key,$meta_value,$prev_value='')
delete_metadata($meta_type,$object_id,$meta_key,$meta_value='',$delete_all=false)
get_metadata($meta_type,$object_id,$meta_key='',$single=false)
update_meta_cache($meta_type,$object_ids)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top