WordPressでテーマのcommon.cssがロードされてなくて焦った件
ん~~~~、ってHTMLをdiffして見てみたら
Before
<link rel='stylesheet' id='common-css' href='/wp-content/themes/xxx/css/common.css' type='text/css' media='all' />
After
<link rel='stylesheet' id='common-css' href='/wp-admin/css/common.min.css' type='text/css' media='all' />
ってなってた。
なんで管理画面のCSSなんかがロードされてるんじゃ。。
原因を探ってみる
とりあえず検索する。 こんなのがあった。 its-office.jp
んー、コアがCSSのロードを上書きしたっポイ。どっかなと探すと、、、
wp-includes/script-loader.php
ここで、
<?php // Admin CSS $styles->add( 'common', "/wp-admin/css/common$suffix.css" );
ってされてた。
これによりテーマ内の function.php にて
<?php wp_enqueue_style( 'common', get_template_directory_uri().'/css/common.css' );
してたのがダメになっちゃったんだね。
原因を探ってみる2
しつこい僕はこの互換性を破壊してそうなコードを誰がコミットしたのか調べてみた。
まぁ、他のedit, aboutなんかをみてると、wp_enqueue_styleするのには自分のオレオレPrefixでも付けておけって感じなのかな。
影響を受けたバージョンも調べてみた
このコードを混入採用したのはどのバージョンからかっていうと・・・
WordPress Versions « WordPress Codex
によると4.4.2からってことみたい。
・・・・随分とWordPressをUpdateするのをスルーしてきたのがばれてしまうではないか・・・。