El filtro woocs_woocommerce_available_variation pasa el array de datos de una sola variación después de que FOX haya convertido sus precios a la moneda actual. Este es el array que WooCommerce entrega al front-end como JSON, por lo que cualquier cambio que realices aquí llega directamente al formulario de variación — el HTML del precio mostrado, la línea de disponibilidad, la imagen, los campos personalizados que lee tu tema.
add_filter('woocs_woocommerce_available_variation', function ($data, $product, $variation) {
global $WOOCS;
if (isset($WOOCS) and $WOOCS->current_currency !== $WOOCS->default_currency) {
$data['price_html'] .= '<small class="fox-note">approximate</small>';
}
return $data;
}, 10, 3);
Parámetros:
$data (array) - los datos de la variación, precios ya convertidos
$product (WC_Product_Variable) - el producto padre
$variation (WC_Product_Variation) - la variación en sí misma
Devuelve:
- (array) los datos de la variación para enviar al front-end
Nota: el filtro se aplica dos veces dentro del mismo método — una vez mientras se construye el array y otra vez sobre el resultado final. Escribe el callback de manera que ejecutarlo dos veces sobre los mismos datos sea inofensivo.