WordPress其中一套Twenty Twelve的主題,在原有的主題下製作子主題,
其中有一份文件是fix bug ie瀏覽器,目錄位置 twentytwelve/css/ie.css
在子主題調用失敗,後來發現可以在functions.php文件調用子主題下的./css/ie.css文件
具體方法︰
第一種方法: 新增
function mytheme_enqueue_styles() {
global $wp_styles;
wp_enqueue_style( 'mytheme-ie', get_stylesheet_directory_uri() . '/css/ie.css', array( 'twentytwelve-style' ), '20121010' );
$wp_styles->add_data( 'mytheme-ie', 'conditional', 'lt IE 9' );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_styles', 11 );
例如︰
原來的主題代碼︰
<!--[if lt IE 9]>
<link rel='stylesheet' id='twentytwelve-ie-css' href='https://www.moonlol.com/wp-content/themes/twentytwelve/css/ie.css?ver=20121010' type='text/css' media='all' />
<![endif]-->
下方新增子主題代碼︰
<!--[if lt IE 9]>
<link rel='stylesheet' id='mytheme-ie-css' href='https://www.moonlol.com/wp-content/themes/moonlit2013/css/ie.css?ver=20121010' type='text/css' media='all' />
<![endif]-->
第二種方法: 替換
function mytheme_dequeue_styles() {
wp_dequeue_style( 'twentytwelve-ie' );
}
add_action( 'wp_enqueue_scripts', 'mytheme_dequeue_styles', 11 );
function mytheme_enqueue_styles() {
global $wp_styles;
wp_enqueue_style( 'mytheme-ie', get_stylesheet_directory_uri() . '/css/ie.css', array( 'twentytwelve-style' ), '20121010' );
$wp_styles->add_data( 'mytheme-ie', 'conditional', 'lt IE 9' );
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_styles', 11 );
例如︰
原來的主題路徑︰
<!--[if lt IE 9]>
<link rel='stylesheet' id='twentytwelve-ie-css' href='https://www.moonlol.com/wp-content/themes/twentytwelve/css/ie.css?ver=20121010' type='text/css' media='all' />
<![endif]-->
替換為子主題的路徑︰
<!--[if lt IE 9]>
<link rel='stylesheet' id='mytheme-ie-css' href='https://www.moonlol.com/wp-content/themes/moonlit2013/css/ie.css?ver=20121010' type='text/css' media='all' />
<![endif]-->