Saltar navegación

Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.

Problema:
Si estás experimentando problemas con el cambio de moneda en el plugin WC Deposits, donde el valor del depósito no se convierte al cambiar de divisa en la página del producto o en la página de finalizar compra.
Solución:
Antes de realizar cualquier cambio, asegúrate de hacer una copia de seguridad completa de tu sitio web. Luego, sigue estos pasos:
1. Ve a Plugins > Editor de archivos de plugins.
2. Selecciona el plugin WooCommerce Deposits.
3. Selecciona el archivo

/includes/wc-deposits-functions.php

.
4. Sustituye el código existente por el nuevo código proporcionado, que incluye la línea

$amount = apply_filters('wcml_raw_price_amount', $amount);

para aplicar el filtro de conversión de moneda.
5. Guarda los cambios.
Esto debería permitir que el valor del depósito se convierta correctamente al cambiar de divisa.

Si esta solución no es relevante para tu caso, porque podría estar desactualizada o simplemente no aplicarse a tu situación, te recomendamos abrir un nuevo ticket de soporte. También te recomendamos encarecidamente que revises los problemas conocidos, verifiques la versión de la solución permanente y confirmes que has instalado las últimas versiones de temas y plugins. Si necesitas ayuda adicional, no dudes en contactarnos en el foro de soporte de WPML.

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 los foros 6 días a la semana, 22 horas por día.

Etiquetado: 

Este tema contiene 6 respuestas, tiene 2 voces.

Última actualización por Lucas Vidal de Andrade hace 7 meses.

Asistido por: Lucas Vidal de Andrade.

Autor Entradas
Abril 17, 2024 en 11:29 am #15531534

cristianS-20

Hola Lucas, he utilizado el plug-in que usted me indicó y no funciona

Te cuento lo que hice

Cree un WordPress limpio y solo instale elementor, woocommerce, wpml y el plugin de depósito que me indico

enlace oculto

Cree un producto y coloque el valor de depósito en el plug-in que usted me indicó

enlace oculto

Fui a la página del producto único, cambie de divisa y el valor del depósito no se convierte

enlace oculto

enlace oculto

En la página de finalizar compra tampoco funciona

enlace oculto

Si querés te puedo pasar el acceso administrador al sitio así lo probas

Saludos

Abril 17, 2024 en 11:33 am #15531567

Lucas Vidal de Andrade
Supporter

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch ) Portugués, Brasil (Português )

Zona horaria: America/Sao_Paulo (GMT-03:00)

Hola,

Todavía es necesario que instales WPML y WPML String Translation, ya que WCML no funciona correctamente sin estos dos plugins. Te pido que los instales y lo intentes de nuevo. Si aún así no funciona, me gustaría obtener acceso a tu sitio web. He activado el campo privado para que compartas el acceso.

Abril 18, 2024 en 5:42 pm #15540488

cristianS-20

Hola Lucas, ya instale el plugin en ese Sandbox

enlace oculto

Dentro de los productos vas a encontrar parte de la configuración

enlace oculto

Saludos, quedo atento

Abril 19, 2024 en 12:43 pm #15543694

Lucas Vidal de Andrade
Supporter

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch ) Portugués, Brasil (Português )

Zona horaria: America/Sao_Paulo (GMT-03:00)

Hola,

Gracias por instalar el plugin. Ya he hecho los ajustes necesarios y he enviado tu solicitud a nuestros desarrolladores. Tan pronto como tenga una respuesta, te actualizaré.

Muchas gracias por tu comprensión.

Abril 26, 2024 en 3:22 pm #15571233

Lucas Vidal de Andrade
Supporter

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch ) Portugués, Brasil (Português )

Zona horaria: America/Sao_Paulo (GMT-03:00)

Hola,

He recibido una respuesta de nuestros desarrolladores. Es necesario hacer un pequeño ajuste en el código de WC Deposits para que el cambio de moneda ocurra como se espera.

Por favor, haz una copia de seguridad completa de tu sitio web antes de proceder. Sigue estos pasos:

Ve a Plugins > Editor de archivos de plugins;
Selecciona el plugin WooCommerce Deposits;
Selecciona el archivo /includes/wc-deposits-functions.php
Sustituye el siguiente código:

// if it is a variation , check variation directly
        if ($product->get_type() === 'variation') {
            $parent_id = $product->get_parent_id();
            $parent = wc_get_product($parent_id);
            $inherit = $parent->get_meta('_wc_deposits_inherit_storewide_settings');

            if (empty($inherit) || $inherit === 'yes') {
                // get global setting
                $amount = get_option('wc_deposits_storewide_deposit_amount', '50');
            } else {
                $override = $product->get_meta('_wc_deposits_override_product_settings', true) === 'yes';

                if ($override) {
                    $amount = $product->get_meta('_wc_deposits_deposit_amount', true);
                } else {
                    $amount = $parent->get_meta('_wc_deposits_deposit_amount', true);
                }
            }


        } else {

            $inherit = $product->get_meta('_wc_deposits_inherit_storewide_settings');

            if (empty($inherit) || $inherit === 'yes') {
                // get global setting
                $amount = get_option('wc_deposits_storewide_deposit_amount', '50');
            } else {
                $amount = $product->get_meta('_wc_deposits_deposit_amount', true);
            }
        }

por:

if ($product->get_type() === 'variation') {
            $parent_id = $product->get_parent_id();
            $parent = wc_get_product($parent_id);
            $inherit = $parent->get_meta('_wc_deposits_inherit_storewide_settings');

            if (empty($inherit) || $inherit === 'yes') {
                // get global setting
                $amount = get_option('wc_deposits_storewide_deposit_amount', '50');
            } else {
                $override = $product->get_meta('_wc_deposits_override_product_settings', true) === 'yes';

                if ($override) {
                    $amount = $product->get_meta('_wc_deposits_deposit_amount', true);
                    $amount = apply_filters('wcml_raw_price_amount', $amount);
                } else {
                    $amount = $parent->get_meta('_wc_deposits_deposit_amount', true);
                    $amount = apply_filters('wcml_raw_price_amount', $amount);
                }
            }


        } else {

            $inherit = $product->get_meta('_wc_deposits_inherit_storewide_settings');

            if (empty($inherit) || $inherit === 'yes') {
                // get global setting
                $amount = get_option('wc_deposits_storewide_deposit_amount', '50');
            } else {
                $amount = $product->get_meta('_wc_deposits_deposit_amount', true);
                $amount = apply_filters('wcml_raw_price_amount', $amount);
            }
        }

Guarda
Esto debería solucionar el problema. Si necesitas ayuda con alguno de los pasos, avísame. He adjuntado una imagen con el resultado final de la modificación del código, para que la tengas de referencia.

Edit Plugins _ Sandbox _ WordPress · 12.01pm · 04-26.jpeg
Abril 29, 2024 en 4:17 am #15574561

cristianS-20

Hola Lucas, gracias por tu respuesta.
Necesito unos días para probarlo y te aviso si funciona

Gracias

Abril 29, 2024 en 12:26 pm #15577077

Lucas Vidal de Andrade
Supporter

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch ) Portugués, Brasil (Português )

Zona horaria: America/Sao_Paulo (GMT-03:00)

Perfecto. Házmelo saber 🙂