Saltar navegación

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.

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.

Sun Mon Tue Wed Thu Fri Sat
- - 9:00 – 18:00 9:00 – 18:00 9:00 – 18:00 9:00 – 18:00 9:00 – 18:00
- - - - - - -

Zona horaria del aficionado: America/Lima (GMT-05:00)

Este tema contiene 5 respuestas, tiene 2 voces.

Última actualización por Andreas W. hace 6 horas, 17 minutos.

Asistido por: Andreas W..

Autor Entradas
octubre 31, 2024 en 5:21 pm #16353010

michelleG-8

Antecedentes del problema:
Quiero que nuestro sitio esté en 3 monedas: SOLES, EUROS y DÓLARES. El complemento WPML permite esto, pero tenemos un caso especial para la moneda DÓLARES. Queremos tener dos versiones de precios en dólares: uno para EEUU y otros países americanos, y otro para países latinos como Colombia y Brasil. En Perú seguirá siendo SOLES. Por la interfaz, solo puedo seleccionar dólar global, canadiense, australiano, etc., pero queremos saber si es posible usar la moneda DÓLAR con dos precios diferentes por países. Entiendo que tal vez por la interfaz no se puede, pero tal vez programáticamente con código personalizado se pueda conseguir.

Síntomas:
No puedo seleccionar dos precios diferentes para la moneda DÓLAR por países usando la interfaz de WPML.

Preguntas:
¿Es posible usar la misma moneda DÓLAR con dos precios diferentes para diferentes países en WPML?
¿Pueden darnos algunas recomendaciones para implementar esto programáticamente con código personalizado?

octubre 31, 2024 en 7:00 pm #16353236

Andreas W.
Supporter

Idiomas: Inglés (English ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Hola,

Lamentablemente no es posible agregar más monedas a WCML.

Lo que podrías hacer aquí es cambiar el símbolo de moneda dinámicamente:
https://woocommerce.com/document/change-a-currency-symbol/

Podrías usar una condición de lenguaje de WPML como el ejemplo en este enlace:

/**
 * Change a currency symbol for specific countries using WPML hooks
 */
add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);

function change_existing_currency_symbol( $currency_symbol, $currency ) {
    // Get the current country using WPML
    $current_country = apply_filters('wpml_current_language', NULL);
    
    if ($currency === 'USD') {
        // Customize currency symbol based on country
        if ($current_country === 'br') { // Brazil
            $currency_symbol = 'USD R$';
        } elseif ($current_country === 'co') { // Colombia
            $currency_symbol = 'USD COL$';
        } else {
            $currency_symbol = 'USD'; // Default for other countries
        }
    }
    return $currency_symbol;
}

Saludos
Andreas

noviembre 5, 2024 en 3:36 pm #16367927

michelleG-8

Hola, gracias por tu respuesta.
Pero tengo una duda, si sólo cambio el símbolo de moneda cuando se agregue el producto al carrito y se realice el pago no habrá conflicto con la moneda y/o tipo de cambio con la pasarela de pago?
Porque entiendo que al cambiar el símbolo de moneda el cambio es "visual" para el usuario, pero internamente sigue siendo por ejemplo dolar canadiense y no el dolar americano, eso no afectaría a mi pasarela de pago?

noviembre 5, 2024 en 6:20 pm #16368751

Andreas W.
Supporter

Idiomas: Inglés (English ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Este código solo cambiará el símbolo de moneda de los idiomas activos.

En este ejemplo, todos los idiomas utilizan el dólar estadounidense, pero puedes filtrar el símbolo de la moneda y mostrarlo de forma diferente, por ejemplo, en Colombia.

Esto solo tiene un impacto visual. Los precios seguirán siendo idénticos.

noviembre 7, 2024 en 6:04 pm #16379588

michelleG-8

Gracias por tu respuesta, pero creo que no me dejé explicar bien. Les pongo un ejemplo de lo que queremos para saber si es viable con el complemento y/o programación personalizada.

Tenemos 3 monedas: PEN, EUR y USD (dolar americano)

Pero queremos que el precio USD del producto cambié según el país, por ejemplo:

1. Bolso LUA -> en países de Europa se muestra el precio en EUR.
2. Bolso LUA -> sólo en Perú se muestra el precio en soles PEN.
3. Bolso LUA -> en paises americanos como EEUU, Canada debe costar USD 450
4. Bolso LUA -> en países latinos (menos Perú) como Brasil, Argentina debe costar USD 320

O sea la misma moneda USD (dolares americanos) pero en EEUU con un precio y en Brasil con otro precio.

¿Se puede configurar de esa forma?

De antemano gracias por todo su tiempo y espero haya alguna solución.

noviembre 7, 2024 en 6:56 pm #16379688

Andreas W.
Supporter

Idiomas: Inglés (English ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Con WPML sea la misma moneda USD en todo los idiomas. Lo único que puedes cambiar programáticamente es el símbolo de la moneda.

Además, con WPML cada traducción del producto siempre utilizará el mismo precio que el producto original.

Podrías probar a usar este complemento:
https://wordpress.org/plugins/woocommerce-product-price-based-on-countries/