Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en el foro 6 días a la semana, durante 22 horas por día.

Hoy no hay asistentes de soporte disponibles en el foro Spanish. Siéntase libre de enviar sus tiques y les daremos trámite tan pronto como estemos disponibles en línea. Gracias por su comprensión.

This topic contains 7 respuestas, has 2 mensajes.

Last updated by Art Project Group hace 1 mes.

Assigned support staff: Andrés.

Autor Mensajes
junio 18, 2019 a las 9:26 am #4042069

Art Project Group

Estoy limitando el pago de PayPal a un mínimo de 100,00 € de pedido. En el momento en el que activo la limitación el sistema me devuelve este error:
Fatal Error
Line 115
Message Uncaught Error: Call to a member function get_setting() on null in /home/.../public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php:115 Stack trace: #0 /home/.../public_html/wp-includes/class-wp-hook.php(286): WCML_Currencies_Payment_Gateways->filter_gateway_description('Puedes pagar co...', 'paypal') #1 /home/.../public_html/wp-includes/plugin.php(208): WP_Hook->apply_filters('Puedes pagar co...', Array) #2 /home/.../public_html/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-payment-gateway.php(309): apply_filters('woocommerce_gat...', 'Puedes pagar co...', 'paypal') #3 /home/.../public_html/wp-content/plugins/woocommerce/templates/checkout/payment-method.php(28): WC_Payment_Gateway->get_description() #4 /home/.../public_html/wp-content/plugins/woocommerce/includes/wc-core-functions.php(249): include('/home/...') #5 /home/.../public_html/wp
File /home/.../public_html/wp-content/plugins/woocommerce-multilingual/classes/multi-currency/payment-gateways/class-wcml-currencies-payment-gateways.php

Tras darle un par de vueltas he comprobado que en el momento en el que desactivo la multimoneda en WooCommerce Multilingual funciona perfectamente, y en el momento en el que vuelvo a activar la gestión de varias monedas vuelve a fallar.

Necesito tener varias monedas disponibles como hasta ahora y poder usar una función tan simple como esta:
//Filtra los medios de pago
function apg_filtra_medios_de_pago( $medios ) {
$minimum = 100;

if ( WC()->cart->total < $minimum ) {
unset( $medios[ 'paypal' ] );
}

return $medios;
}
add_filter( 'woocommerce_available_payment_gateways', 'apg_filtra_medios_de_pago' );

Quedo pendiente de vuestra actualización para reparar esta incompatibilidad.

Un saludo.

junio 18, 2019 a las 3:15 pm #4044717

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Hola,

Bienvenido al soporte de WPML.

He estado revisando este error y parece exclusivo a tu sitio. Si retiras el código que mencionas, ¿el error desaparece?

//Filtra los medios de pago
function apg_filtra_medios_de_pago( $medios ) {
$minimum = 100;

if ( WC()->cart->total < $minimum ) {
unset( $medios[ 'paypal' ] );
}

return $medios;
}
add_filter( 'woocommerce_available_payment_gateways', 'apg_filtra_medios_de_pago' );

Un saludo,
Andrés

junio 18, 2019 a las 3:20 pm #4044763

Art Project Group

Obviamente, pero si quito la multimoneda funciona el código perfectamente y no muestra ningún error. Ojo que hay 3 monedas: euro, dólar y libra esterlina.

En realidad no uso ese código, uso una de las opciones de Booster for WooCommerce, pero da exactamente el mismo error que si añado ese pequeño script.

Un saludo.

junio 18, 2019 a las 3:35 pm #4044885

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Lo siento pero no podemos brindarte ayuda con tu código personalizado ya que está más allá del alcance del soporte.

Lo que si podemos ver es ver que sucede con el plugin Booster Plus for WooCommerce. Este plugin no se encuentra en nuestra lista de compatibilidad. Sin embargo esto no significa necesariamente que no lo sea, simplemente nuestro equipo no lo ha probado hasta el momento.
https://wpml.org/documentation/plugins-compatibility/

Por esta razón hee creado un sitio de pruebas para ti. Puedes acceder a este simplemente haciendo click en en siguiente enlace:
hidden link

La idea es que cargues tu plugin Booster Plus for WooCommerce y nos ayudes a reproducir el problema. De esta manera, si efectivamente se trata de un problema de compatibilidad, podremos acelerar el proceso y contactar a nuestro Equipo de compatibilidad y trabajar con el autor en la resolución de tu problema.


No tienes que recrear tu sitio, simplemente instalar lo mínimo necesario para reproducir el problema.

junio 18, 2019 a las 3:43 pm #4044949

Art Project Group

Pero si el problema no lo genera el código, lo genera WooCommerce Multilingual 🙂

Ese código lo único que hace es eliminar PayPal de la lista de métodos de pago para pedidos inferiores a 100,00 €. Te lo he puesto para que vieras que no hace nada raro como para que WooCommerce Multilingual se vuelva loco.

junio 18, 2019 a las 3:45 pm #4044961

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

En ese caso, trata de replicar la situación en el sitio de prueba. Si el problema se reproduce, tal vez los desarrolladores puedan encontrar una solución. Sin embargo, debo repetir que el código personalizado está fuera del alcance del soporte.

junio 18, 2019 a las 4:10 pm #4045167

Art Project Group

Efectivamente en la plataforma de test no se puede reproducir, pero por suerte ya he encontrado el problema de WooCommerce Multilingual que hace que se vuelva loco.

En las distintas monedas distintas de la nativa de la tienda, en este caso €, existe la opción de añadir información personalizada para Transferencia bancaria y PayPal, en nuestro caso no usamos Stripe y no sale como en el ejemplo que mostráis en https://wpml.org/documentation/related-projects/woocommerce-multilingual/multi-currency-support-woocommerce/?utm_source=wcml-admin&utm_medium=plugin&utm_term=payment-gateways-settings&utm_content=documentation&utm_campaign=WCML#payment-gateways-settings. Pues bien, aunque NO HABÍA NADA CONFIGURADO, NI ESTABA ACTIVO, lo he activado y desactivado, guardando los cambios y OH MAGIA, ha funcionado... pero claro el problema era un plugin de terceros 🙁

En fin...

Muchas gracias.

Un saludo.

junio 18, 2019 a las 4:13 pm #4045179

Art Project Group

Resuelto por nuestra cuenta, no gracias a la ayuda del soporte técnico 🙁