J'ai essayé de déterminer exactement où, dans la jungle massive de Wordpress, la classe usermeta est reliée à la table des utilisateurs et, dans l'affirmative, comment fonctionne-t-il?
La seule chose qui me dérange au sujet de la table usermeta, c’est qu’elle utilise des champs clé/valeur pour les champs de la base de données et non des valeurs réelles comme prénom ou nom. Comment Wordpress sait-il quels champs extraire par défaut et existe-t-il des points d'ancrage, des actions et des filtres pour l'ajout et la récupération de données à partir du champ usermeta?
Je ne suis pas à 100% ce que vous demandez, cela ressemble à plusieurs questions? Mais voici:
$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 pourrait être ce que vous recherchez?
Sur la base de quelques commentaires, j'ajouterai:
La fonction get_user_metavalues($user_ids)
de /wp-includes/user.php
renverra un tableau de tableaux de données utilisateur.
La fonction get_userdata()
récupère les valeurs utilisateur à l'aide de get_user_metavalues($user_ids)
à partir de /wp-includes/pluggable.php
et renvoie un objet de données utilisateur.
User Meta est géré via les fonctions de métadonnées génériques trouvées dans /wp-includes/meta.php
. Par conséquent, si vous recherchez un SQL JOIN
entre wp_users et wp_usermeta, il est peu probable que vous en trouviez 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)