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?

¿Fue útil?

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é:

  1. La función get_user_metavalues($user_ids) de /wp-includes/user.php devolverá una matriz de matrices de datos del usuario.

  2. La función get_userdata() Recupera los valores del usuario utilizando get_user_metavalues($user_ids) de /wp-includes/pluggable.php y devuelve un objeto de datos del usuario.

  3. 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 SQL JOIN 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)
Licenciado bajo: CC-BY-SA con atribución
scroll top