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