運営しているWordPressブログで、SSL化(https)にしたら、ChromeでログインしたWordPressの管理画面に「このページは承認されていないソースからのスクリプトを読み込もうとしています」という警告が表れるようになった。
「このページは承認されていないソースからのスクリプトを読み込もうとしています」はなぜ現れる?
いろいろと調べてみたら「このページは承認されていないソースからのスクリプトを読み込もうとしています」は、http
とhttpsが混在している場合に出るらしい。
でも、使っているテーマはここと同じsimplicity2。
カスタマイズで内部URLをSSL化にしてあるのに、なぜなんだろう。
しかも、WordPressの管理画面の中に現れるとはこれ如何に?
「一般設定」のWordPressアドレス(URL)もサイトアドレス(URL)もちゃんとhttpsになってるし。
Chromeの検証で調べてみる
分からないけど、とにかく、Chromeの検証で調べてみることにした。
で、赤い▲マークが出たので、▼マークをクリックしてみた。
「アップロードしたばかりの画像ファイルじゃないか!」
でもその画像をブラウザ上で見るとhttpsになってる。
でもでも、WordPressのメディアでURLを見るとhttp
のままなのだ。
さっぱりわからない。
記事の中なら書き換えが効くが、どうやったら、アップロードした画像URLがhttpsになってくれるわけ?
このサイトは同じsimplicity2と子テーマを使っていて、何の不都合もないのに。
一体何が悪さをしているのだ!
試しにコードを追加してみた
で、試しに、〔functions.php〕に下のコードを追加してみた。
function fix_ssl_attachment_url($url) {
if(is_ssl()){
$url = preg_replace("/^http:/", "https:", $url);
}
return $url;
}
add_filter("wp_get_attachment_url", "fix_ssl_attachment_url");
サイトがSSL化してある場合にhttp
を強制的にhttpsに変換するコードらしい。
参考先はWordPressでサイト全体をSSL化したときのURLの落とし穴 というwebページ
見事に、「このページは承認されていないソースからのスクリプトを読み込もうとしています」が出なくなった。
うーん、simplicity2のバージョンの違いだろうか?
はたまた、プラグインのいたずら?
コメント