某サイトで独自SSLを突っ込んだので、フォーム周りをWordPress HTTPSでSSL化。
ついでにセキュリティ強化の為に管理画面もSSL化。
SSLにしてやれやれ…と思ったらここではまったのが、
FAQページを作ってくれるプラグイン、WP DS FAQ PLUS。
管理画面でWP DS FAQ PLUSのFAQの「編集」ボタンを押しても、
Ajaxの処理待ち的なくるくる画像が回ってるだけで、全然反応してくれない。
でも、管理画面のSSLを外すと、ちゃんと編集できる。
WP DS FAQ PLUSがSSLに対応してないのかな?と思ってプラグインの公式サイト見に行ったら、
[1.0.2]: 2011.03.19
– SSL対応(管理画面をSSL化したときのAjaxトラブルを解決)
と2011年にはもう対応してるっぽい。
なんでかなーって悩みまくって、ぼけーっとWP DS FAQ PLUSのソースファイル、wp-ds-faq.phpを見てたら、こんな記述が。
// ここでwp-config.phpにFORCE_SSL_ADMINが設定されていて、その値がtrueなら(2011.04.22)
// 管理画面内でのアクセスのみURLをhttpsに書き換え
$this->plugurl_front = $this->;plugurl;
if ( defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN == true )
$this->plugurl = str_replace('http://', 'https://', $this->plugurl);
…あれ?
“wp-config.phpにFORCE_SSL_ADMINが設定されていて、その値がtrueなら”
…あれれ?
プラグインで設定したんだから、wp-config.phpにそんな記述あるわきゃない。
#一応念の為に確認したけどやっぱり無い
てことは…悪さしてるのはWordPress HTTPSのForce SSL Administrationのチェック?
ということで、物は試しでプラグイン側の「Force SSL Administration」チェックを外して、
改めてwp-config.phpに以下の記述を加えました。
/* 管理画面へのSSLアクセスを必須とする(WordpressHTTPSを使わない) */
define('FORCE_SSL_ADMIN', true);
そしたら、管理画面は自動的にhttps://~のアドレスでアクセスできるようになって、
プラグインの方は「管理画面のSSLに強制化」のチェックボックスがグレーアウトに。
(上の画像はグレーアウトになってる方)
そして、WP DS FAQ PLUSのAjaxも無事動くようになりました。
やっぱりwp-config.phpやfunctions.phpに書けば使える機能をプラグイン頼りにするのはよろしくないのかね(^^;)
でもまあ、今回みたいに調べることで解決できることもあるから、
使ってみてダメだったらそん時また考えればいいかなー。