Avisos
Vaciar todo

Hosting WordPress 70% dto Dominios promo

No funcionan los campos condicionales con Woocommerce checkout manager  

 
Mª Elena
 Mª Elena
Usuario experto

Hola buenos días, hace un mes hicimos una migración a webempresa de la página Contenido solo visible a usuarios registrados

Citar
Respondido : 07/11/2019 9:37 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

He probado a instalar las versiones más recientes de estos plugins, pero al actualizarlos, los campos que deberían estar ocultos, directamente no aparecen

Vuelve a actualizar todos los plugins, aunque no se muestre luego los campos y así revisamso por que no se muestra.

Algún motivo para que estén ocultos, podrias poner los campos visibles con una función y hacer que sean opcionales.

Por ejemplo:

/**
 * Añade campos adicionales a la página de checkout de WooCommerce
 */
add_action( 'woocommerce_after_order_notes', 'agrega_mi_campo_personalizado' );
 
function agrega_mi_campo_personalizado( $checkout ) {
 
    echo '

' . __('Necesitas Factura ?') . '

'; woocommerce_form_field( 'Razón-Social', array( 'type' => 'text', 'class' => array('my-field-class form-row-wide'), 'label' => __('Razón Social'), 'required' => false, 'placeholder' => __('Añade la Razón Social '), ), $checkout->get_value( 'Razón-Social' )); woocommerce_form_field( 'Dirección-Fiscal', array( 'type' => 'text', 'class' => array('my-field-class form-row-wide'), 'label' => __('Dirección Fiscal'), 'required' => false, 'placeholder' => __('Añade la Dirección Fiscal '), ), $checkout->get_value( 'Dirección-Fiscal' )); woocommerce_form_field( 'IVA', array( 'type' => 'text', 'class' => array('my-field-class form-row-wide'), 'label' => __('IVA'), 'required' => false, 'placeholder' => __('21% '), ), $checkout->get_value( 'IVA' )); echo '
'; } /** * Comprueba que los campos no estén vacío */ add_action('woocommerce_checkout_process', 'comprobar_campo_vacios'); function comprobar_campo_vacios() { // Comprueba si se ha introducido un valor y si está vacío se muestra un error. if ( ! $_POST['Razón-Social'] ) wc_add_notice( __( 'Razón Social, es un campo requerido. Debe de introducir su Razón Social para finalizar la compra.' ), 'error' ); if ( ! $_POST['Dirección-Fiscal'] ) wc_add_notice( __( 'La Dirección Fiscal, es un campo requerido. Debe de introducir su Dirección Fiscal para finalizar la compra.' ), 'error' ); if ( ! $_POST['IVA'] ) wc_add_notice( __( 'El IVA, es un campo requerido. Debe de introducir su IVA para finalizar la compra.' ), 'error' ); } /** * Actualiza la información del pedido con el nuevo campo */ add_action( 'woocommerce_checkout_update_order_meta', 'actualizar_info_pedido_con_nuevo_campo' ); function actualizar_info_pedido_con_nuevo_campo( $order_id ) { if ( ! empty( $_POST['Razón-Social'] ) ) { update_post_meta( $order_id, 'Razón-Social', sanitize_text_field( $_POST['Razón-Social'] ) ); } if ( ! empty( $_POST['Dirección-Fiscal'] ) ) { update_post_meta( $order_id, 'Dirección-Fiscal', sanitize_text_field( $_POST['Dirección-Fiscal'] ) ); } if ( ! empty( $_POST['IVA'] ) ) { update_post_meta( $order_id, 'IVA', sanitize_text_field( $_POST['IVA'] ) ); } } /** * Muestra el valor del nuevo campo en la página de edición del pedido */ add_action( 'woocommerce_admin_order_data_after_billing_address', 'mostrar_campo_personalizado_en_admin_pedido', 10, 1 ); function mostrar_campo_personalizado_en_admin_pedido($order){ echo '

'.__('Razón-Social').': ' . get_post_meta( $order->id, 'Razón-Social', true ) . '

'; echo '

'.__('Dirección-Fiscal').': ' . get_post_meta( $order->id, 'Dirección-Fiscal', true ) . '

'; echo '

'.__('IVA').': ' . get_post_meta( $order->id, 'IVA', true ) . '

'; } /** * Incluye el campo en el email de notificación del cliente */ add_filter('woocommerce_email_order_meta_keys', 'muestra_campo_personalizado_email'); function muestra_campo_personalizado_email( $keys ) { $keys[] = 'Razón-Social'; return $keys; $keys[] = 'Dirección-Fiscal'; return $keys; $keys[] = 'IVA'; return $keys; } /** *Incluir en la factura (necesario el plugin WooCommerce PDF Invoices & Packing Slips) */ add_filter( 'wpo_wcpdf_billing_address', 'incluir_Campos_en_factura' ); function incluir_Campos_en_factura( $address ){ echo $address . '

'; $wpo_wcpdf->custom_field( 'Razón-Social', 'Razón Social: ' ); $wpo_wcpdf->custom_field( 'Dirección-Fiscal', 'Dirección Fiscal: ' ); $wpo_wcpdf->custom_field( 'IVA', 'Iva: ' ); echo '

'; }

Un saludo

ResponderCitar
Respondido : 07/11/2019 4:18 pm

Cursos Gratuitos WordPress

Mª Elena
 Mª Elena
Usuario experto

Buenos días Pepe, acabo de volver a actualizar los plugins de woocommerce y woocommerce checkout manager a sus últimas versiones.

El motivo para tener en principio estos campos ocultos es para facilitar al cliente que no necesite la factura el proceso de compra, de ahí la idea de tener el select para que sea el propio cliente el que elija en función de su necesidad. Como obligatorio está el select, luego el resto de campos que deberían estar ocultos son opcionales.

¿De momento espero a ver el resultado de las pruebas con los plugins actualizados antes de hacer nada en código?

Gracias por el soporte!

ResponderCitar
Respondido : 08/11/2019 9:09 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

ok, probemos algo.

Veo que estás utilizando el plugin autoptimize y puede ser que este retardando la carga de js.
.- Desactiva el plugin de Autoptimize y revisa si carga.

Un saludo

ResponderCitar
Respondido : 08/11/2019 10:11 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Mª Elena
 Mª Elena
Usuario experto

Hola Pepe, funcionó! :cheer: He desactivado el plugin y se cargaron los campos al usar el select en la página de pago.

He tenido que volver a poner a PHP 7.0 porque estaba en la versión más reciente, no se si es algo que has gestionado desde allí, y no me dejaba entrar a la parte de administrador.

Ahora... como podría hacer para tener activo el plugin y que se mostrasen esos campos?

Se podría volver a las versiones que tenía antes de woocommerce y woocommerce checkout manager?

Muchas gracias por tu ayuda!

ResponderCitar
Respondido : 08/11/2019 10:30 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

Prueba a forzar la carga del JS en el head.
.- Accede Ajustes -> Autoptimize.
.- Selecciona% la opción " ¿Forzar JavaScript en ? "

Otra opcion seria excluir los JS del plugin.

Se podría volver a las versiones que tenía antes
Si, puedes realizar un Rollback de los plugins, revisa esta documentación del Blog:
-> https://www.webempresa.com/blog/como-volver-version-anterior-woocommerce-rollback.html

Un saludo

ResponderCitar
Respondido : 08/11/2019 10:55 am

Mª Elena
 Mª Elena
Usuario experto

Hola Pepe, voy a probar esto que me dices, pero ahora al entrar en la página y en la parte de administrador me dice que no puedo por estar en mantenimiento programado y que lo vuelva a probar en unos minutos.

Debería abrir con esto ya ticket o como puedo entrar?

He vuelto a instalar la version que tenia actual para probar si funcionaba y me ha dado un error y ahora no se como entrar

ResponderCitar
Respondido : 08/11/2019 11:02 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

Debería abrir con esto ya ticket o como puedo entrar?
No, en principio puede ser por temas de algún token.

Limpia la cache del navegador o prueba acceder desde incognito:
-> https://guias.webempresa.com/preguntas-frecuentes/limpiar-la-cache-del-navegador/
-> https://support.google.com/chrome/answer/95464?co=GENIE.Platform%3DDesktop&hl=es

Un saludo

ResponderCitar
Respondido : 08/11/2019 11:08 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Mª Elena
 Mª Elena
Usuario experto

Hola, después de borrar cache y probar con diferentes navegadores me sigue saliendo el error que el sitio esta experimentando dificultades técnicas y otro que me dice que revise el email del administrador... y no se que email es, como puedo recuperar la web? 🙁

ResponderCitar
Respondido : 08/11/2019 11:25 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

El problema puede venir por algún Plugin.
Revisando veo que el problema lo esta dando el plugin " cecabank-woocommerce-master "

Le pedí a un compañero de hosting que renombrara la carpeta del plugin y veo que ya carga.

Tienes que comprobar si hay actualizaciones del plugin o buscar una alternativa a ese plugin.

Un saludo

ResponderCitar
Respondido : 08/11/2019 11:58 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Mª Elena
 Mª Elena
Usuario experto

Hola Pepe, gracias por la gestión, puedo entrar pero ahora veo que ha desaparecido el plugin woocommerce que es el que tenía toda la tienda, no se puede volver a una versión previa a este error y dejarlo como estaba??

EDITO: Mirando en la cuenta con Superbackups veo que la ultima copia de seguridad está hecha de esta madrugada a la 1.40, si restauro seleccionando esta, volvería a como estaba antes de que tocase nada?

ResponderCitar
Respondido : 08/11/2019 12:02 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

Renombre la carpeta del plugin de WooCommerce
Prueba a volver a instalar el plugin:

-> https://es.wordpress.org/plugins/woocommerce/

si restauro seleccionando esta, volvería a como estaba antes de que tocase nada?

Si, solo tienes que pinchar en " Restaura Web " y seleccionar la fecha.

Un saludo

ResponderCitar
Respondido : 08/11/2019 12:46 pm

Cursos Gratuitos WordPress

Mª Elena
 Mª Elena
Usuario experto

Hola Pepe, he conseguido recuperar todo sin necesidad de restaurar nada, lo he dejado tal y como me habías comentado al principio del hilo y veo que me funciona todo correctamente, así que ya no toco nada, no sea que la vuelva a liar.

Gracias por toda tu ayuda!

ResponderCitar
Respondido : 08/11/2019 1:13 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Mª Elena.

Genial !!! Cualquier cosa ya sabes que nos puedes encontrar por aquí 😉
Cerramos el tema.

Un saludo

ResponderCitar
Respondido : 08/11/2019 1:24 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress