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