Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Añadir campos de perfil de usuario adicionales en la administración de WordPress

27 abril, 2022
seguridad wp

¿Has creado alguna vez una página de registro o de perfil personalizada para tus usuarios en tu sitio web?

En este ejemplo vamos a añadir un campo nuevo que le hemos llamado gestionar pedidos.

Vamos a crear una función que contenga los campos que queremos registrar y luego lo engancharemos en la página del editor de perfiles del administrador para que podamos editarlo y modificarlo.

En este caso será un campo tipo radio button y tendrá valores si o no, que lo utilizaré para poder gestionar pedidos, pero puedes utilizarlo para lo que quieras.

Este sería el código que tienes que añadir al functions.php de tu theme o child-theme

function extra_profile_fields( $user ) { ?>
   
    <h3><?php _e('Gestionar pedidos'); ?></h3>
    <table class="form-table">
        <tr>
            <th><label>Gestionar pedidos</label></th>
            <td>
<?php 
 $gestion =  esc_attr( get_the_author_meta( 'gestion', $user->ID ) );
  ?>
                     
           

            <label><input type="radio" name="gestion" <?php if ($gestion == 'No' ) { ?>checked="checked"<?php }?> value="No">No<br /></label>
            <label><input type="radio" name="gestion" <?php if ($gestion == 'Si' ) { ?>checked="checked"<?php }?> value="Si">Si<br /></label>

            
            </td>
        </tr>       
    </table>
<?php

}


add_action( 'show_user_profile', 'extra_profile_fields', 10 );
add_action( 'edit_user_profile', 'extra_profile_fields', 10 );



function save_extra_profile_fields( $user_id ) {

    if ( !current_user_can( 'edit_user', $user_id ) )
        return false;

    /* Edit the following lines according to your set fields */
    update_usermeta( $user_id, 'gestion', $_POST['gestion'] );
}

add_action( 'personal_options_update', 'save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );

Y así es como se vería:

campos de perfil de usuario adicionales

add custom field in wordpress admin