Hola, @charlie0412:
Ten en cuenta que estos foros están pensados para resolver errores y problemas de configuración básicos, por lo que no deberías esperar que te respondan a consultas que tendría que resolver un profesional. Espero que no lo tomes a mal, es solo un consejo que te doy, ya que podría pasar que nunca recibas una respuesta, puesto que todos los que colaboramos en estos foros somos voluntarios con tiempo limitado y nos enfocamos en ayudar a usuarios que están comenzando con WordPress, no a usuarios avanzados, como tú.
Dicho esto, como has proporcionado el código que estás usando, lo he reescrito, como gesto de cortesía, para que funcione en ambos tipos de productos, tanto simples como variables:
/**
* WooCommerce:
* Modifica el precio de los productos para países específicos
*/
add_filter( 'woocommerce_product_get_price', 'wc_return_custom_price', 10, 2 );
add_filter( 'woocommerce_product_variation_get_price', 'wc_return_custom_price', 10, 2 );
function wc_return_custom_price( $price, $product ) {
global $woocommerce;
// Array que contiene los códigos de los países donde se aplicará el precio modificado
$countries = array( 'US' );
// Si es la página de finalizar pago y el país de facturación del cliente está en el array...
if ( is_checkout() && in_array( $woocommerce->customer->get_billing_country(), $countries ) ){
// ...devuelve el precio modificado
return ( $price / 260 ) * 1.25;
} else {
// Si no, devuelve el precio normal
return $price;
}
}
Me causó curiosidad la fórmula que estás usando (( $price / 260 ) * 1.25
)
¿Es un error o quieres disminuir el precio para los Estados Unidos?
Hola @yordansoares:
El código funciona perfectamente, gracias, entiendo lo que mencionas sobre el propósito del foro, la próxima vez cumpliré con ello, en cuanto a lo que me preguntas al final, le cuento que en mi país la moneda está muy devaluada con respecto al USD y tasa cambiaria es muy variable en cortos márgenes de tiempo, actualmente 1 USD equivale a 260 pesos nacionales, y la multiplicación final es por concepto de comisiones de procesamiento de Stripe.
Saludos
Hola, @charlie0412:
¡Me alegra saber que te ha funcionado el código!
Por otro lado, gracias por responder a la pregunta sobre la fórmula. Te comento que en Venezuela tenemos un caso similar con el cambio entre el dólar estadounidense y el bolívar, aunque de facto el régimen venezolano ha permitido poner precios en USD, así que ya no tenemos que hacer conversiones de este tipo, si se establece esta moneda por defecto.
¡Que tengas un excelente fin de semana!