Reparar el fallo de scroll suave en las pestañas y valoraciones de WooCommerce en Elementor

Dificultad: Fácil

En muchas instalaciones con Elementor o temas que fuerzan el smooth scroll, al pulsar sobre «Añadir valoración» o en los enlaces con ancla (#tab-description, #tab-reviews) en la ficha de producto, la pestaña no se activa o el despliegue automático falla. Este ligero script en cola corrige el comportamiento nativo escuchando el evento del hash y abriendo la pestaña correspondiente antes del desplazamiento.

Puedes utilizar este sencillo snippet en php desde el archivo functions.php.

Importante: no modifiques directamente el archivo functions.php del tema que tengas instalado. Genera un tema hijo con alguno de los plugins del repositorio de WordPress y actívalo. Cuando lo tengas, entra en el functions.php del tema hijo. Una alternativa es instalar algún plugin que permite incrustar código sin problema de pérdida en la actualización del tema.


/**
 * Reparar conflicto de scroll suave y apertura de pestañas en WooCommerce
 */
add_action( 'wp_enqueue_scripts', 'lc_fix_woocommerce_tab_scroll_bug' );
function lc_fix_woocommerce_tab_scroll_bug() {
    if ( ! is_product() ) {
        return;
    }

    $js_code = "
        jQuery(document).ready(function($) {
            $('.woocommerce-review-link, a[href^=\"#tab-\"]').on('click', function() {
                var targetHash = this.hash;
                var \$tabHeader = $('.wc-tabs, .woocommerce-tabs ul.tabs').find('a[href=\"' + targetHash + '\"]');
                
                if (\$tabHeader.length) {
                    \$tabHeader.trigger('click');
                }
            });
        });
    ";

    wp_add_inline_script( 'woocommerce', $js_code );
}

Cero sobrecarga: Se ejecuta únicamente dentro de fichas de producto individuales (is_product()) y se añade como script en línea justo después del script de WooCommerce (wp_add_inline_script), evitando cargar JavaScript en el resto de la web.