web-dev-qa-db-ja.com

ユーザーの表示または追加時にエラーが発生するネットワークインスタントル

私はちょうど私がネットワークインストールになった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は正しく取り込まれています。ここから、私は次にどこへ行くべきか本当に知りません。

この問題を解決する方法を誰かが教えてください。

3
David Gard

DBでは、wp_user_roleswp_optionsオプションが空でした。別のブログを追加したので、wp_2_optionsの同じオプションから値をコピーしました。

また、元のブログ(ネットワークに変更される前に稼働していた)のすべてのユーザーは、wp_capabilitieswp_user_levelおよびwp_usermetaオプションの両方に対して何もリストされていません。このため、get_editable_roles()関数が失敗して、上記のエラーが発生しました。

この問題を解決するために、元のブログの各ユーザーについて、wp_2_capabilitiesおよびwp_2_user_levelに格納されているデータから関連するユーザーレベルのエントリをコピーしました。

1
David Gard