たとえば、管理画面のみSSL暗号化(https)にしていた場合、SSL暗号化内ページで、非暗号化データを読むこむ場合、ブラウザによってブロックされるケースがあります。
私が体験したのは、外部JavaScriptやCSSを読み込みをするプラグインについて、管理画面がSSL暗号化しているサイトで動作しない(読み込みをブロックされる)というものでした。
なエラーが出るわけです。
どうやって対処すればいいの?
plugins_url関数を使ってください。
ただそれがなかった場合を想定して
miyauchi氏から「plugins_url関数は、wp_enquque_script 関数同様、WordPress 2.6以降からあるので、関数の有無(function_exists)はいらないよ〜」という有り難いコメントもらいました。ありがとうございます!!
miyauchi氏から「plugins_url関数は、wp_enquque_script 関数同様、WordPress 2.6以降からあるので、関数の有無(function_exists)はいらないよ〜」という有り難いコメントもらいました。ありがとうございます!!
$plugins_url = WP_PLUGIN_URL;
if( function_exists('plugins_url') )
$plugins_url = plugins_url();
としておいて、WP_PLUGIN_URLのかわりに、$plugins_urlを使うという感じかなと思います。何故、WP_PLUGIN_URLじゃダメなの?
Make WordPress Coreのチケットに書かれている通り、WP_CONTENT_URLやWP_PLUGIN_URLはsiteurl(設定→一般)を読んでいるため、httpかhttpsの調整はされないためってことです。つまりFORCE_SSL_LOGIN、FORCE_SSL_ADMINなどを使ってhttps通信をさせる場合には、site_url関数(plugins_url関数含む)を使わなきゃならないってことみたいですね。
0 件のコメント:
コメントを投稿