Poner en cola un css usando etiquetas condicionales negativas

4

Estoy creando un tema sobre purecss.io. Para que la cuadrícula sea receptiva, necesito agregar esta hoja de estilo . Desde functions.php

function load_css() {

wp_enqueue_style ( 'purecss-all-not-ie', 'http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css', array( 'purecss' ), null );
wp_style_add_data ( 'purecss-all-not-ie', 'conditional', 'gt IE 8' );

add_action( 'wp_enqueue_scripts', 'load_css' );

y la salida es

<!--[if gt IE 8]>
<link rel='stylesheet' id='purecss-new-ie-css'  href='http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css' type='text/css' media='all' />
<![endif]-->

sin embargo, la etiqueta condicional correcta debe ser <!--[if gt IE 8]><!-->

He encontrado un par de discusiones aquí y aquí pero estoy un poco perdido porque no entiendo cuál es la solución propuesta. ¿Qué debo hacer?

    
pregunta Barbara 24.01.2015 - 00:34

1 respuesta

4

¡El error solo tiene 4 años, así que no querrías apresurarlos, ¿verdad ?! Una solución es omitir el wp_style_add_data() y usar el filtro 'style_loader_tag' :

add_filter( 'style_loader_tag', function ( $tag, $handle ) {
    if ( $handle  == 'purecss-all-not-ie' ) {
        $tag = "<!--[if gt IE 8]><!-->\n" . $tag . "<!--<![endif]-->\n";
    }
    return $tag;
}, 10, 2 );
    
respondido por el bonger 24.01.2015 - 08:36

Lea otras preguntas en las etiquetas