¿En qué parte del núcleo de WordPress se unen la tabla de los usuarios y la tabla Usermeta?
Pregunta
He estado tratando de resolver en qué parte de la jungla masiva de WordPress incluyen clases de la tabla Usermeta se une a la tabla de usuarios y, de ser así, ¿cómo funciona?
Lo único confuso de la tabla Usermeta para mí es que está utilizando campos de clave/valor para los campos de la base de datos y no valores reales como First_Name o Last_Name. ¿Cómo sabe WordPress qué campos extraer de forma predeterminada y hay ganchos, acciones y filtros para agregar y recuperar datos del campo Usermeta?
Solución
No soy 100% lo que estás haciendo, ¿parece varias preguntas? Pero aquí va:
$meta_value = get_user_meta($user_id, $key, $single);
Por ejemplo:
$first_name = get_user_meta($user_id, 'first_name', true);
En cuanto a agregar ganchos, creo que esta respuesta podría ser lo que está buscando.
ACTUALIZAR
Basado en algunos comentarios de seguimiento, agregaré:
La función
get_user_metavalues($user_ids)
de/wp-includes/user.php
devolverá una matriz de matrices de datos del usuario.La función
get_userdata()
Recupera los valores del usuario utilizandoget_user_metavalues($user_ids)
de/wp-includes/pluggable.php
y devuelve un objeto de datos del usuario.El meta del usuario se gestiona a través de las funciones de metadatos genéricos que se encuentran en
/wp-includes/meta.php
Entonces, si buscas un SQLJOIN
Entre wp_users y wp_usermeta no es probable que encuentre uno. Ese archivo incluye estas funciones:
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)