Añadir campo al formulario de registro de WordPress

11 dic 2012, 20:57:29
Vistas: 18.5K
Votos: 0

¿Cómo puedo añadir un campo al formulario de registro de WordPress? Por ejemplo, quiero agregar el campo "Nombre" del perfil de usuario al formulario de registro, pero no logro entender cómo hacerlo.

El nombre del campo es first_name, pero añadir <input type="text" name="first_name" id="first_name" value="<?php echo $_POST['first_name']; ?>" required="required" placeholder="<?php _e('Nombre'); ?>" /> no funciona por alguna razón. El formulario se envía correctamente, pero el perfil no muestra el campo "Nombre" rellenado en el backend.

Estoy editando este plugin para modificar el formulario de registro: http://wordpress.org/extend/plugins/s8-custom-login-and-registration/

0
Todas las respuestas a la pregunta 2
5

No estoy familiarizado con el plugin que estás usando, pero la forma de agregar campos personalizados al formulario de registro y guardarlos en el perfil de usuario es mediante el hook de acción register_form para mostrar el campo y luego usar el hook de filtro/acción apropiado para actualizar/guardar el perfil de usuario.

Tu caso, por ejemplo:

<?php
// mostrar el campo del formulario
add_action('register_form', 'ad_register_fields');
function ad_register_fields() {
?>
    <p>
        <label for="firstname"><?php _e('Nombre') ?><br />
        <input type="firstname" name="firstname" id="firstname" class="input" value="<?php echo esc_attr($_POST['firstname']); ?>" size="25" tabindex="20" />
        </label>
    </p>
<?php
}

// guardar el nuevo nombre
add_filter('pre_user_first_name', 'ad_user_firstname');
function ad_user_firstname($firstname) {
    if (isset($_POST['firstname'])) {
        $firstname = $_POST['firstname'];
    }
    return $firstname;
}
?>
11 dic 2012 22:58:14
Comentarios

Entonces esto lo agregaría al formulario de registro predeterminado de WordPress, ¿correcto?

JacobTheDev JacobTheDev
13 dic 2012 23:24:35

Sí, eso es correcto.

Ahmad M Ahmad M
14 dic 2012 10:37:32

@Ahmad M ¿Hay alguna forma de validar estos campos adicionales?

Vasanthan.R.P Vasanthan.R.P
6 abr 2013 08:08:09

¿Alguien sabe cómo agregar un campo antes del nombre de usuario/correo electrónico? Todo se agrega después de esos dos...

trainoasis trainoasis
9 ago 2016 11:26:12

La solución de @Ahmad M funciona perfectamente hoy, pero intento agregar billing_phone (woocommerce) y no encuentro la manera de guardar estos datos en el perfil... También me gustaría que estos campos fueran obligatorios, y si es posible, eliminar el "nombre de usuario" y generarlo automáticamente con el nombre y apellido

Leo Danos Leo Danos
25 ene 2023 21:53:55
0

Encontré un excelente plugin gratuito que cumple con el propósito.

http://wordpress.org/extend/plugins/user-registration-aide/

Muy fácil de usar, añade campos tanto en el registro como en las páginas de perfil.

14 dic 2012 18:13:46