WordPressのプラグインがSSLでエラーを出すので修正

以前紹介したWordpressプラグインScroll to Topが、SSLでエラーを出していた。

エラー内容は以下の通り。
Mixed Content: The page at ‘https://www.hoge.com/’ was loaded over HTTPS, but requested an insecure script ‘http://www.hoge.com/wp-content/plugins/scroll-to-top/js/stt.js?ver=1.0′. This request has been blocked; the content must be served over HTTPS.

プラグイン用のJSが、http://から呼ばれているためにブロックされている。

WordPressが吐いたソースを見ても
<script type=’text/javascript’ src=’http://www.hoge.com//wp-content/plugins/scroll-to-top/js/stt.js?ver=1.0’>
となっている。
そりゃーブロックされますよね。

修正するには、/wp/wp-content/plugins/scroll-to-top/stt.phpを修正する。

元のソース

wp_enqueue_script(‘stt’, WP_PLUGIN_URL . ‘/scroll-to-top/js/stt.js’, array(‘jquery’), ‘1.0’ );


修正後

wp_enqueue_script(‘stt’, plugins_url() . ‘/scroll-to-top/js/stt.js’, array(‘jquery’), ‘1.0’ );

WP_CONTENT_URLやWP_PLUGIN_URLは、Wordpressの管理画面で設定されたURLを読むだけなので、SSLを自動認識しない。
site_url()やplugins_url()を使わないとダメ、ってことですね。

JSやCSSを追加する系プラグインは、同じ様な方法で修正できるんじゃないかと思います。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です