Error wordpress is_home() no funciona con WPML

¿Usas el plugin de traducción WPML para la traducción de tu página web? Entonces aqui tienes la solución

Las funciones is_home() o is_front_page() en la acción «wp_enqueue_scripts» no funcionan con wpml activo

Documentación completa : https://wpml.org/forums/topic/canada-link-for-shop-page-always-display-the-page-of-the-current-language/#post-8800079

La solución es añadir el siguiente filtro

$my_home_url = apply_filters( 'wpml_home_url', get_option( 'home' ) );
$url = get_pagenum_link();

//echo "<script> alert('".$url."'); </script>";
 

if ($my_home_url == $url) {
?> 
<div> Ejemplo - contenido home </div>

<?php      
    } else {
      ?> 
 <div> ejemplo </div>
<?php 
    }
?>

En algunos casos no funciona porque las urls difieren del final según nos han comentado para ello podéis usar esta solución. Donde comparamos get_pagenum_link() con nuestra url escrita manualmente

Elena

Elena Lacalle es ingeniera informática, perito judicial y fundadora de ChipToChip. Especializada en automatización, desarrollo web profesional y ciberseguridad, lidera el ecosistema de servicios tecnológicos de la marca, incluyendo proyectos de WordPress avanzado, IA aplicada, mantenimiento técnico y auditorías digitales. Su enfoque combina precisión técnica con soluciones escalables para empresas, despachos jurídicos y entornos de alta exigencia operativa.

Deja una respuesta