¿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:
add custom field in wordpress admin