Dans quelle partie du noyau Wordpress ne la table des utilisateurs et une table usermeta se sont joints?
Question
J'ai essayé de travailler là où dans la jungle massive de Wordpress comprennent des classes de la table de usermeta est rejoint sur la table des utilisateurs et si oui, comment fonctionne-t-il?
La seule confusion chose au sujet de la table usermeta pour moi est qu'il utilise des champs clé / valeur pour les champs de base de données et les valeurs réelles non comme prenom ou last_name. Comment savoir quels champs Wordpress pour tirer par défaut et sont là des crochets, des actions et des filtres pour l'ajout et la récupération de données à partir du champ usermeta?
La solution
Je ne suis pas à 100% ce que vous demandez, il semble que plusieurs questions? Mais va ici:
$meta_value = get_user_meta($user_id, $key, $single);
Par exemple:
$first_name = get_user_meta($user_id, 'first_name', true);
En ce qui concerne l'ajout de crochets je pense que cette réponse est peut-être ce que vous cherchez?
UPDATE
Basé sur certains commentaires suivi, je vais ajouter:
-
La
get_user_metavalues($user_ids)
fonction de/wp-includes/user.php
retourne un tableau de tableaux de données d'utilisateur. -
La fonction
get_userdata()
extrait les valeurs d'utilisateur en utilisantget_user_metavalues($user_ids)
de/wp-includes/pluggable.php
et retourne un objet de données d'utilisateur. -
L'utilisateur Meta est géré par les fonctions de métadonnées génériques trouvés dans
/wp-includes/meta.php
donc si vous cherchez unJOIN
SQL entre wp_users et wp_usermeta vous n'êtes pas susceptible d'en trouver un. Ce fichier comprend les fonctions suivantes:
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)