Comprender y trabajar con datos de usuario en WordPress
Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
WordPress almacena los datos de usuario en la tabla wp_users, que está vinculada a las tablas wp_posts y wp_comments:



WordPress también almacena los datos de usuario en otras dos tablas:
- Los metadatos adicionales de los usuarios se almacenan en la tabla
wp_usermeta - Los datos de los comentaristas que no hayan iniciado sesión se almacenan en la tabla
wp_comments.
En esta parte de mi serie sobre datos en WordPress, voy a ver cómo almacena WordPress los datos de usuario y cómo se puede acceder a ellos, centrándose primero en la tabla wp_users.
La tabla wp_users
La tabla wp_users almacena toda la información principal sobre cada usuario. Tiene los siguientes campos:
| Campo | Lo que almacena | Notas |
|---|---|---|
ID | El ID de usuario | Autogenerado |
user_login | Nombre de usuario | Obligatorio |
user_pass | Contraseña | Autogenerado si no se proporciona durante el registro |
user_nicename | Alias | Autogenerado si no se introduce manualmente |
user_email | Dirección de correo electrónico | Obligatorio |
user_url | Sitio web | No requerido |
user_registered | Fecha y hora en la que el usuario se registró por primera vez | Autogenerado |
user_activation_key | Clave de activación del usuario | Autogenerado |
user_status | Estado almacenado como un número, esto le indica a WordPress si el usuario ha confirmado el registro por correo electrónico, por ejemplo. NO almacena roles de usuario. | Autogenerado |
display_name | Nombre mostrado públicamente | Autogenerado si no ha sido introducido manualmente |
Como puedes ver, todos los campos excepto uno (user_url) son obligatorios durante el registro, de no ser así, se generarán automáticamente.
Metadatos de usuario
Además de los datos de wp_users, existen datos que se crean para todos los usuarios, pero se almacenan en la tabla wp_usermeta, como los roles y las capacidades. Esta tabla también se utiliza para almacenar opciones adicionales que mejoran la experiencia del usuario, como el esquema de color elegido para el área de administración, la configuración de la barra de administración y la visualización del escritorio.
Esta es la tabla que debes utilizar cuando desees crear campos adicionales para los usuarios a través de tu tema o plugin, nunca debes añadir campos a la tabla principal wp_users.
Cada registro de la tabla wp_usermeta tiene cuatro campos:
-
ID- el ID de registro -
user_id- que está vinculado awp_users meta_keymeta_value
Para crear un nuevo registro de metadatos de usuario, utiliza la función add_user_meta():
1 |
add_user_meta( $user_id, $meta_key, $meta_value, $unique ); |
El cuarto parámetro de esta función ($unique) es opcional y especifica si el valor del campo meta_key debe ser único.
Una vez hayas añadido metadatos de usuario, puedes mostrarlos en la página de autor de cada usuario utilizando get_user_meta() o crear un listado de todos los usuarios con un valor determinado para una clave especificada.
Cubriré esta última opción con más detalle en un tutorial posterior donde examino los metadatos y las taxonomías.
Relaciones entre usuarios y otros contenidos
Los usuarios pueden estar vinculados a dos tipos de contenido: entradas y comentarios. En el caso de las entradas, siempre habrá un usuario, que será el autor de la misma. La relación se establece entre el campo post_author en wp_posts y el campo ID en wp_users.
Los comentarios no siempre están vinculados a la tabla wp_users: este solo se creará si el comentarista es un usuario que ha iniciado sesión previamente. Si es así, el vínculo se establece entre el ID en wp_users y user_ID en wp_comments.
Si un comentarista no es un usuario que haya iniciado sesión, sus datos se registrarán directamente en la tabla wp_comments, utilizando los campos comment_author, comment_author_email, comment_author_url y comment_author_IP.
Resumen
Los usuarios son un aspecto fundamental en una instalación de WordPress. Sin ellos no existiría un administrador del sitio ni autores para crear contenido.
WordPress almacena datos básicos sobre los usuarios en la tabla wp_users y también utiliza la tabla wp_usermeta para metadatos adicionales. También vincula los datos de usuario a las entradas de la tabla wp_posts y a los comentarios de la tabla wp_comments.



