In welchem Teil des WordPress -Kerns werden die Benutzertabelle und die USERMETA -Tabelle verbunden?
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?
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:
Die Funktion
get_user_metavalues($user_ids)
aus/wp-includes/user.php
Gibt ein Array von Benutzerdatenarrays zurück.Die Funktion
get_userdata()
Ruft Benutzerwerte mithilfe der Nutzungswerte abget_user_metavalues($user_ids)
aus/wp-includes/pluggable.php
und gibt ein Benutzerdatenobjekt zurück.Benutzer -Meta wird über die generischen Metadatenfunktionen verwaltet
/wp-includes/meta.php
Also, wenn Sie nach einem SQL suchenJOIN
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)