WordPressのメールフォームプラグイン「Contact Form 7」を共有SSL環境で使用した時に問題が一つ発生しました。
送信ボタンを押した後のくるくる画像(ajax-loader)が出ないという問題です。
これは共有SSL環境だとURLが変わってしまうことが原因です。
以下URL比較(hetemlサーバー共有SSL)
- 元URL
- http://www.magical-remix.co.jp
- 独自SSL
- https://www.magical-remix.co.jp
- 共有SSL
- https://magicalremix.heteml.jp/magical-remix.co.jp/
くるくる画像は、共有SSLにおいても、独自SSLより画像を取得しようとするため非表示になってしまうわけです。
表示されない
https://www.magical-remix.co.jp/wp-content/plugins/contact-form-7/images/ajax-loader.gif
こうなってほしい
https://magicalremix.heteml.jp/magical-remix.co.jp/wp-content/plugins/contact-form-7/images/ajax-loader.gif
そのため、functions.phpにてifで書き換えます。
hetemlサーバーの共有SSLの場合
「magical-remix.co.jp」部分、「magicalremix.heteml.jp/magical-remix.co.jp」をご自分のURLに置き換えてください。
function my_wpcf7_ajax_loader($url){ if ( strpos($url, "https://www.magical-remix.co.jp/") === 0 ) $url = str_replace("https://www.magical-remix.co.jp/","https://magicalremix.heteml.jp/magical-remix.co.jp/",$url); return $url; } add_filter("wpcf7_ajax_loader", "my_wpcf7_ajax_loader");
ついでにエックスサーバーの共有SSLの場合
「magical-remix.co.jp」部分、「magical-remix-cojp.ssl-xserver.jp」をご自分のURLに置き換えてください。
function my_wpcf7_ajax_loader($url){ if ( strpos($url, "https://www.magical-remix.co.jp/") === 0 ) $url = str_replace("https://www.magical-remix.co.jp/","https://magical-remix-cojp.ssl-xserver.jp",$url); return $url; } add_filter("wpcf7_ajax_loader", "my_wpcf7_ajax_loader");
参考サイト
contact form 7 と wordpress https で ajax-loaderが表示されなくなる件
最近のコメント