GoPymes's Blog

Campos personalizados para el usuario (usermeta)

custom fields

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 111

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 112

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 111

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 112

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 111

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 112

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 111

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gopymes/blog.gopymes.pe/wp-content/plugins/codecolorer/codecolorer-core.php on line 112

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]

Usando el CODEX

Para interactuar con estos campos disponemos de funciones WP muy intuitivas.

Agregamos un campo llamado dni para el usuario 34:

1
 

Modificamos su valor:

1
 

Obtenemos el valor del campo:

1
 

Borramos el campo:

1
 

Algunas observaciones

[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]

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *