WordPress の検証用サイトを作成していてのトラブル。
現時点での最新版 WordPress 4.9.4 です。
元々あるサイトを同一サーバの別の場所に作成し
DB を移行後動作させました。
ログイン画面自体は表示してログイン動作もでき、
画面上部には管理バーも表示されますが、
肝心の管理画面に入ろうとすると
上記のようなメッセージが出て作業ができません。
元々は 1 DB に 1 サイトだったのですが、
今回はテスト用サイトの作成だったので
1 DB に複数のサイトを入れるために
TABLE のプレフィックス(標準では wp_ )を
変更したために起こった現象です。
変更前を wp_ 、変更後を wp2_ とします。
設定すべき場所は
- 設置場所直下の wp-config.php 内
旧: $table_prefix = 'wp_';
新: $table_prefix = 'wp2_'; - エクスポートしてきた SQL ファイル内
旧: CREATE TABLE IF NOT EXISTS `wp_xxx` (
新: CREATE TABLE IF NOT EXISTS `wp2_xxx` (
と
旧: INSERT INTO `wp_xxx` (
新: INSERT INTO `wp2_xxx` (
の部分すべて。 - TABLE wp-options の
option_name が wp_user_roles の項目
これを wp_user_roles から wp2_user_roles
に変更。 - TABLE wp-usermeta の meta_key が以下の項目
wp_capabilities
wp_dashboard_quick_press_last_post_id
wp_user-settings
wp_user-settings-time
wp_user_level
これらを
wp2_capabilities
wp2_dashboard_quick_press_last_post_id
wp2_user-settings
wp2_user-settings-time
wp2_user_level
に変更。 - .htaccess ファイルを削除し再度作成。
パーマリンクの再設定。
普段、あまり遭遇しないだけに、
遭遇してしまうと『なんやこれ?』となります。