私はちょうど私がネットワークインストールになったWPの新しいバージョンをインストールしたところです(ここで見つけられた の指示を使って )。
すべてうまくいっているようで、私はうまく新しいサイトを追加することができました、しかし私はリストするか、ユーザーを追加することに関する問題に直面しています。
Users
メニュー項目をクリックすると、リストテーブルに次のような警告が表示されます -
Warning:array_keys()はパラメータ1が配列であることを想定しています。ブール値は{my-dir}\wp-admin\includes\class-wp-users-list-table.phpの307行目にあります
この行は - $editable_roles = array_keys( get_editable_roles() );
です - 問題は、get_editable_roles()
がfalse
に近づいているということです。
警告は別の場所にありますが、私がユーザーを追加しようとしたときにも同じ問題が発生します -
警告:array_reverse()はパラメータ1が配列であることを想定しています。ブール値は{my-dir}\wp-admin\includes\template.phpの843行目にあります
私は明白なことを試み、すべてのプラグインを無効にし(追加しました)、デフォルトのテーマに切り替えましたが、それでも警告は残ります。
get_editable_roles()
を見ると、グローバル$wp_roles->roles
は空ですが、$wp_roles->role_objects
は正しく取り込まれています。ここから、私は次にどこへ行くべきか本当に知りません。
この問題を解決する方法を誰かが教えてください。
DBでは、wp_user_roles
のwp_options
オプションが空でした。別のブログを追加したので、wp_2_options
の同じオプションから値をコピーしました。
また、元のブログ(ネットワークに変更される前に稼働していた)のすべてのユーザーは、wp_capabilities
のwp_user_level
およびwp_usermeta
オプションの両方に対して何もリストされていません。このため、get_editable_roles()
関数が失敗して、上記のエラーが発生しました。
この問題を解決するために、元のブログの各ユーザーについて、wp_2_capabilities
およびwp_2_user_level
に格納されているデータから関連するユーザーレベルのエントリをコピーしました。