Añadir campos al perfil de los usuarios de nuestra página funcionando bajo WordPress, y así conseguir personalizarlos es sencillo. Únicamente tenemos que añadir algo de código al archivo functions.php
del tema que estemos usando: por un lado el código que añadirá las cajas a la página de edición del perfil en el administrador de WorPress; por otro, la acción que creará y actualizará ese registro en la base de datos.
En el siguiente ejemplo añadiremos un campo para que el usuario pueda incluir su cuenta de twitter.
// extra fields in user profile add_action( 'show_user_profile' , 'extra_user_profile_fields' ); add_action( 'edit_user_profile' , 'extra_user_profile_fields' ); function extra_user_profile_fields( $user ) { ? > |
</ pre > < h3 >Extra profile information</ h3 > < table class = "form-table" > < tbody > < tr > < th >< label for = "twitter" >Twitter</ label ></ th > < td >< input id = "twitter" class = "regular-text" type = "text" name = "twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" /></ td > </ tr > </ tbody > </ table > < pre > |
< ?php add_action( 'personal_options_update' , 'save_extra_user_profile_fields' ); add_action( 'edit_user_profile_update' , 'save_extra_user_profile_fields' ); function save_extra_user_profile_fields( $user_id ) { if ( !current_user_can( 'edit_user' , $user_id ) ) { return false; } update_user_meta( $user_id , 'twitter' , $_POST [ 'twitter' ] ); } |
El código está dividido en tres cajas debido a que el plugin que uso para mostrar el código no trata muy bien código PHP y HTML mezclado, pero todo va dentro del functions.php. También es necesario borrar el espacio entre el signo de interrogación y el signo de mayor que o menor que, que he incluido en el cierre y la apertura de código PHP igualmente para que el plugin no se queje.
Para obtener estos valores del perfil del usuario en nuestro tema podemos usar la función get_user_data
, por ejemplo.
1 comentario