Hola, tal vez me recuerden por consultas como “Restringir pasarela de pago”
Bueno, eso ya lo resolví, estoy usando el Plugin Woocommerce Currency Switcher y tengo un pequeño problema:
-
En la tienda, tengo productos físicos y digitales. Los digitales se pueden vender en dólares a través de Paypal, y los físicos, por una cuestión de costos de logística, solo se pueden vender en Argentina.
-
Pude poner como moneda base el peso argentino, y lograr que se restrinja la pasarela de pago según moneda (Mercado Pago para Pesos, Paypal para Dólares).
-
Para mostrar el switcher sólo en los productos digitales, lo que hice fue introducirlo como shortcode en cada uno de esos productos. Medio tedioso pero fue la mejor solución que encontré, y al ser pocos productos zafé.
Ahora bien, el problema con el que me encuentro es que al cambiar el switcher en uno de estos productos a dólares, si quiero seguir comprando o navegando, todo el sitio cambia a dólares.
Es decir, incluso los productos físicos (más allá de no tener el switcher) cambian a dólares automáticamente.
Por suerte di con el desarrollador (Muy buena onda) que me contestó sobre otras cosas y sobre esto mismo, pero no le estoy encontrando la vuelta al código que me dijo que agregue en functions.php, ya que me dijo que no existe esa opción nativamente en el plugin.
Me respondió lo siguiente:
Unfortunately the plugin does not have this feature.
You need code customization.
An example:
add_filter('wp_head',function(){
if(class_exists('WOOCS') AND !(is_page('add_your_page')) ){
global $WOOCS;
$WOOCS->reset_currency();
}
});
But pay attention that you need to change this string:
https://codex.wordpress.org/Conditional_Tags
- Aclaro, no sé prácticamente nada de PHP, pero por lo que leí, hay que cambiar el parámetro que está marcado para las páginas donde quiero que se resetee.
Como no puedo poner cada una de ellas, lo que hice fue decirle que cambie en todas las páginas de determinada categoría (según lo que leí sobre Conditonal Tags en el Codex de WP).
Quedó así:
add_filter('wp_head',function(){
if(class_exists('WOOCS') AND !(is_category ($kit-creativos)) ){
global $WOOCS;
$WOOCS->reset_currency();
}
});
Donde kit-creativos es slug de una de las categorías donde no quiero que se cambie la moneda.
Al parecer error no hay, pero si dejo esa función corriendo, no me deja ni siquiera cambiar el valor en el switcher de los productos digitales
Dejo el sitio en cuestión, previo deshabilitación de esa función, para que vean lo que comento al ppio:
Url de preguntas y respuestas con el desarrollador:
¿Alguno que la tenga clara con PHP, funciones y eso, que me pueda tirar alguna idea de qué estoy haciendo mal?
Mil gracias por anticipado!