Dans quelle partie du noyau Wordpress ne la table des utilisateurs et une table usermeta se sont joints?

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

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?

Était-ce utile?

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:

  1. La get_user_metavalues($user_ids) fonction de /wp-includes/user.php retourne un tableau de tableaux de données d'utilisateur.

  2. La fonction get_userdata() extrait les valeurs d'utilisateur en utilisant get_user_metavalues($user_ids) de /wp-includes/pluggable.php et retourne un objet de données d'utilisateur.

  3. 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 un JOIN 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)
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top