データベーステーブルのプレフィックスを変更しましたか?これがあなたの問題だと私は90%確信しています。
WordPressは$table_prefix
、オプションとusermetaキーの名前を形成するために変数を使用し、役割と機能の情報を格納します。したがって、プレフィックスを変更してもデータベースを更新しないと、このエラーが発生します。これを修正する方法は次のとおりです。phpMyAdminまたはDBと対話するための別のインターフェイスを介してこのSQLコマンドを実行します(PHPでも実行できます)。
UPDATE `{%TABLE_PREFIX%}usermeta` SET `meta_key` = replace(`meta_key`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}');
UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}');
どこ:
{%TABLE_PREFIX%}
現在の$table_prefix
(で設定されているwp-config.php
)
{%OLD_TABLE_PREFIX%}
あなたの前です$table_prefix
{%NEW_TABLE_PREFIX%}
はあなたの新しい(現在の)です$table_prefix
-それはおそらくあなたと同じでしょう{%TABLE_PREFIX%}
。
したがって、古いものと新しいものが$table_prefix
である場合は、次のクエリを実行します。wp_test_
wp_
UPDATE `wp_usermeta` SET `meta_key` = replace(`meta_key`, 'wp_test_', 'wp_');
UPDATE `wp_options` SET `option_name` = replace(`option_name`, 'wp_test_', 'wp_');
編集:@Francisco Corralesが指摘したように、作成した管理ページへのアクセスに問題がある場合(PHPを作成していない場合、これは当てはまりません)、次のリンクを確認できます:プラグインの開発中のWordpressエラー- 「このページにアクセスするための十分な権限がありません。」
編集2:@Kasper Sourenが指摘したように、オプションのUPDATEクエリにWHERE句を追加することをお勧めします。%
そのように(最後の後に削除しないでください%}
):
UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}') WHERE option_name like '{%OLD_TABLE_PREFIX%}%';