Plugins, hay muchos, no tienes más que buscar en el repositorio o en Google.
Si quieres hacerlo tú, puedes añadir campos al formulario de registro utilizando el action register_form
para añadir los nuevos campos, y el action user_register
para guardar esos campos.
Por ejemplo:
add_action( 'register_form', 'cyb_register_form' );
function cyb_register_form() {
$empresa = ( ! empty( $_POST['empresa'] ) ) ? trim( $_POST['empresa'] ) : '';
?>
<p>
<label for="empresa"><?php _e( 'Empresa', 'cyb-textdomain' ) ?><br />
<input type="text" name="empresa" id="empresa" class="input" value="<?php echo esc_attr( $empresa ); ?>" size="25" /></label>
</p>
<?php
}
add_filter( 'registration_errors', 'cyb_registration_errors', 10, 3 );
function cyb_registration_errors( $errors, $sanitized_user_login, $user_email ) {
if ( empty( trim( $_POST['empresa'] ) ) == '' ) {
$errors->add( 'empresa_error', __( '<strong>ERROR</strong>: Debes incluir el nombre de tu empresa.', 'cyb-textdomain' ) );
}
return $errors;
}
add_action( 'user_register', 'myplugin_user_register' );
function myplugin_user_register( $user_id ) {
if ( ! empty( trim( $_POST['empresa'] ) ) ) {
update_user_meta( $user_id, 'empresa', trim( $_POST['empresa'] ) );
}
}