WordPressのwp-blog-header.phpでIEの表示がおかしくなる現象の解消方法


お客さん相手の仕事をしていると、サポートしてませんで終わらせられなくて結構困ってる人もいるんじゃないかと思い、
私自身の備忘も兼ねて書きたいと思います。

WordPressでカスタムフィールドテンプレートとか使ってるとIE8でページが表示されない。
というか意味不明な現象で不完全なタグで表示されたり、
「そのURLは無効です」のようなメッセージが表示される。
※私のところの環境ではIE7とか最近のIEでは問題ありませんでした

もっと正確に言うと、次の条件でIE8で表示がおかしくなります

1.require(‘./wp-blog-header.php’); としてヘッダを読み込む
2.p=1 とか paged=5 とか、wordpressで使うグローバル変数に対するurlパラメータが付属している

WordPressのグローバル変数が使えないってかなりきついので、
なんとかしないといけないといろいろ調べてみると、
こちらのページに載っている内容で直りました。
変な、404が帰ってきてるのがIE8だけ変な表示になった原因みたいです・・・。
WordPress:wp-blog-header.php を呼び出すと 404 が返ってくる現象について

require(‘wp-blog-header.php’);

の部分を

require(‘wp-config.php’);
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();

とするだけ。
知ってしまえば簡単ですが、これを調べるのに苦労すると思います。

IEで表示がおかしくなる場合は、これを疑ってみるといいかもしれません。

[RelService] [Service]