/**
 * 1. Función para obtener los niveles de precio desde el Meta del producto
 * Formato esperado en el campo '_ee_tiers':
 * 1-10=5000
 * 11-50=4500
 */
function ee_get_tiers($post_id) {
    $txt = get_post_meta($post_id, '_ee_tiers', true);
    $lines = array_filter(array_map('trim', preg_split('/\r?\n/', (string)$txt)));
    $out = [];
    foreach($lines as $l) {
        $parts = preg_split('/=/', $l);
        if(count($parts) == 2) {
            $out[] = [
                'range' => trim($parts[0]), 
                'price' => (float)trim($parts[1]) // Aseguramos que sea un número
            ];
        }
    }
    return $out;
}

/**
 * 2. Hook para ajustar el precio en el carrito según la cantidad y los tiers
 */
add_action( 'woocommerce_before_calculate_totals', 'aplicar_precio_por_tiers_dinamico', 10, 1 );

function aplicar_precio_por_tiers_dinamico( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

    foreach ( $cart->get_cart() as $cart_item ) {
        $product_id = $cart_item['product_id'];
        $quantity = $cart_item['quantity'];
        $tiers = ee_get_tiers($product_id);

        if ( !empty($tiers) ) {
            foreach ( $tiers as $tier ) {
                // Separamos el rango (ej: "11-20" -> min: 11, max: 20)
                $range_parts = explode('-', $tier['range']);
                $min = (int)$range_parts[0];
                $max = isset($range_parts[1]) ? (int)$range_parts[1] : 999999;

                // Si la cantidad está dentro de este rango, aplicamos el precio del tier
                if ( $quantity >= $min && $quantity <= $max ) {
                    $cart_item['data']->set_price( $tier['price'] );
                    break; // Salimos del bucle al encontrar el rango correcto
                }
            }
        }
    }
}<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://espacioescondido.com/wp-sitemap-index.xsl" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://espacioescondido.com/wp-sitemap-posts-post-1.xml</loc></sitemap><sitemap><loc>https://espacioescondido.com/wp-sitemap-posts-page-1.xml</loc></sitemap><sitemap><loc>https://espacioescondido.com/wp-sitemap-posts-product-1.xml</loc></sitemap><sitemap><loc>https://espacioescondido.com/wp-sitemap-taxonomies-category-1.xml</loc></sitemap><sitemap><loc>https://espacioescondido.com/wp-sitemap-taxonomies-product_cat-1.xml</loc></sitemap><sitemap><loc>https://espacioescondido.com/wp-sitemap-users-1.xml</loc></sitemap></sitemapindex>
