La cuenta de edición de WooCommerce arroja el error ‘el nombre para mostrar es un campo obligatorio’

2 minutos de lectura

avatar de usuario
nathan shanahan

Tengo un problema con la página de edición de cuenta de WooCommerce. Al enviar el formulario, aparece el mensaje de error “el nombre para mostrar es un campo obligatorio”. Intenté agregar un campo tanto

input type="text" y

<select name="display_name" id="display_name" >
    <option selected="selected"><?php echo esc_attr( $user->display_name ); ?></option>
</select>

pero no tuve suerte al intentar agregar el campo. También intenté hacer que el campo no sea obligatorio, pero no estoy seguro de cómo hacerlo con la última versión de WooCommerce.

  • Investigando más, creo que esto puede ser un problema que se presentó cuando cambiamos la pasarela de pago a Stripe. ¿alguien se ha encontrado con esto antes?

    –Nathan Shanahan

    31 de mayo de 2018 a las 5:20

para que no sea necesario, use esto:

add_filter('woocommerce_save_account_details_required_fields', 'wc_save_account_details_required_fields' );
function wc_save_account_details_required_fields( $required_fields ){
    unset( $required_fields['account_display_name'] );
    return $required_fields;
}

Si desea que sea obligatorio, para crear el campo correspondiente, debe asignarle un atributo de nombre 'account_display_name'

avatar de usuario
Nawaz Ghori

Puedes usar el código abreviado de woocommerce [woocommerce_my_account] en su página que tiene current_user en args matriz que se configura automáticamente usando get_user_by( ‘id’, get_current_user_id() ) Referencia: documentación de woocommerce

Pruebe el siguiente código. Creo que deberías usar input en vez de select

<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_display_name" id="account_display_name" value="<?php echo esc_attr($user->display_name);?>">

Prueba con el siguiente código

<select name="display_name" id="display_name" >
    <option selected="selected" value ="<?php echo esc_attr( $user->display_name ); ?>"><?php echo esc_attr( $user->display_name ); ?></option>
</select>

  • Gracias por la ayuda, lamentablemente no hubo suerte. Supongo que “display_name” es el valor correcto para enviar, estoy luchando por encontrar documentación para el formulario de edición de cuenta.

    –Nathan Shanahan

    31 de mayo de 2018 a las 5:44

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad