Asi como personalizamos los campos de un post, también podemos hacerlo con los campos del usuario, para ello debemos entender que tenemos 2 tablas : users y usermeta, el 1ero es para almacenar campos general del usuario y el 2do son para campos específicos.
Mientras que el la tabla users tiene campos como ID, user_login, password, etc; en usermeta podemos almacenar campos en forma vertical, usando los campos umeta_id, user_id, meta_key y meta_value.
[table width =”70%” style =”” responsive =”true”]
[table_head]
[th_column]Campo[/th_column]
[th_column]Descripcion[/th_column]
[/table_head]
[table_body]
[table_row]
[row_column]umeta_id[/row_column]
[row_column]Es el identificador único de la tabla[/row_column]
[/table_row]
[table_row]
[row_column]user_id[/row_column]
[row_column]Es el ID del usuario, al que le vas a crear sus campos personalizados[/row_column]
[/table_row]
[table_row]
[row_column]meta_key[/row_column]
[row_column]Es el nombre del campo personalizado, por ejemplo: DNI[/row_column]
[/table_row]
[table_row]
[row_column]meta_value[/row_column]
[row_column]Es el valor del campo personalizado, para el ejemplo: 43356542[/row_column]
[/table_row]
[/table_body]
[/table]
[notification type=”alert-info” close=”false” ]Es importante saber donde WP guarda esos campos personalizados por si tenemos un problema a futuro.[/notification]
Para interactuar con estos campos disponemos de funciones WP muy intuitivas.
Agregamos un campo llamado dni para el usuario 34:
1 | <?php add_user_meta(34,'dni','43356542'); ?> |
Modificamos su valor:
1 | <?php update_user_meta(34,'dni','43356542'); ?> |
Obtenemos el valor del campo:
1 | <?php echo get_user_meta(34,'dni',true); ?> |
Borramos el campo:
1 | <?php delete_user_meta(34,'dni'); ?> |
[list]
[li type=”glyphicon-arrow-right”]add_user_meta tiene un 4to parámetro que es $unique el cual por default está en false, según WP si lo tienes en true validará que es valor único. Personalmente no me ha funcionado.[/li]
[li type=”glyphicon-arrow-right”]get_user_meta, el 3er parámetro viene por default en false, quiere decir que el valor retornado será un array, yo lo he seteado a true para que el valor retornado sea un string[/li]
[li type=”glyphicon-arrow-right”]Recomiendo usar un plugin para así ahorrar horas de programación[/li]
[/list]
Al usar la funcion wp_mail() de WP para envíar emails, nos ...
One Comment