私がしているあらゆるサイトのheader.php
に入れる傾向があるたくさんのコードを持っています。それらはInternet Explorerに特有のものです。
コードを '標準'のheader.php
に挿入する方法があるかどうか私は思っていませんでした。
はい、ヘッダーを変更するだけです。しかし、アイデアはこれを一般的なプラグインにすることです。
具体的には、デフォルトのスタイルシートの直後にヘッダーの次の部分をエコーするプラグインを作成します。
<!--[if IE]>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/ie.css" type="text/css" />
<![endif]-->
具体的には、デフォルトのスタイルシートの直後にヘッダーの次の部分をエコーするプラグインを作成します。
デフォルトの/ mainスタイルシートを dependency として、 enqueue itを使用することをお勧めします。
これがデモプラグインです。
+ plugins/
|
+--+ my-ie-style/
|
+--+ my-ie-style.php
|
+--+ css/
|
+--+ ie.css
my-ie-style.php
ファイルは次のとおりです。
<?php
/**
* Plugin Name: Demo - My IE style
* Plugin URI: http://wordpress.stackexchange.com/a/85496/26350
* Description: Enqueue With IE conditional, depending on the main-style stylesheet
* Author: wpse
* Version: 1.0.0
*/
add_action( 'wp_enqueue_scripts', function()
{
// Register
wp_register_style(
'my-ie-style', // handle
plugin_dir_url( __FILE__ ) . 'css/ie.css', // file
[ 'main-style' ], // dependency <-- ADJUST THIS!
'1.0.0', // version
'all' // media
);
// Enqueue
wp_enqueue_style( 'my-ie-style' );
// Add IE conditional
wp_style_add_data(
'my-ie-style', // handle
'conditional', // key ('conditional', 'rtl', 'suffix', 'after', 'alt', 'title')
'IE' // value
);
} );
これにより、<head>
タグ内に以下が生成されます。
<link rel='stylesheet'
id='main-style-css'
href='http://example.tld/wp-content/themes/mytheme/style.css?ver=4.5.3'
type='text/css'
media='all' />
<!--[if IE]>
<link rel='stylesheet'
id='my-ie-style-css'
href='http://example.tld/wp-content/plugins/my-ie-style/css/ie.css?ver=1.0.0'
type='text/css'
media='all' />
<![endif]-->
custom IEスタイルシートは main stylesheetの後にロードされます。
うまくいけば、あなたはあなたのニーズに合わせてそれを調整することができます。
wp_enqueue_style()
が欲しいです。これはベスト・プラクティスと考えられており、wp_headにフックするよりも、もっとエレガントなものです。
http://codex.wordpress.org/Function_Reference/wp_enqueue_style