【解決編】WordPressでダッシュボードにアクセス制御かけたらDB更新できなくなった件
現象
前回の記事を参照。
原因
結論から言うと「管理者以外ダッシュボードにログインさせなくする」こと自体は何も問題なかった。
まずかったのは exit; の1行。これだけ。まじこれだけ。
<?php // 管理者以外の場合ダッシュボードにログインさせない add_action( 'admin_init', 'disable_admin_pages' ); function disable_admin_pages() { if(!current_user_can('administrator')){ $redirect_url = get_option('home'); header("Location: ".$redirect_url); exit; } } ?>
exit;があるばかりに、'admin_init' 時に実行される後のスクリプトが全て行われなくなっていた。
詳細は追いきれていないものの、'admin_init'の後処理が行われないとDB更新に必要な準備が整わない模様。
ということで
exit;を削除して問題解決しました。
これだけでほぼ1日半費やしてしまった……
まぁローカル環境の整備とか、その他の技術的負債の消化も行ったからいいんですけど。
あー悔しい。今夜は飲みに行こう。