Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/gogoweb/55w.jp/public_html/techblog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
Facebook にシェア
[`evernote` not found]
LINEで送る

WP SiteManagerでモバイル用とPC版のテーマを切り替えていたのですが、
Maintenance Modeを導入して503.phpを作成してメンテナンスページを表示させようと思ったのですが
スマートフォンからみてもPC版のメンテナンスページが表示されてしまいました。

どうも同じタイミングでテーマの切り替え処理を行っているのが原因でした。
(両方plugins_loadedにフックしている。)
そこでmentenance_modeの中のplugins-loaded.phpを開き、
下の方にある

add_action('plugins_loaded', array($myMaMo, 'ApplyMaintenanceMode'));

の箇所を

add_action('plugins_loaded', array($myMaMo, 'ApplyMaintenanceMode'),20);

に変更しました。
これでメンテナンスモードのほうが後から読まれてテーマが切り替わった後に503.phpを探しに行くので想定した動きをしてくれます。