web-dev-qa-db-fra.com

Installation réseau générant des erreurs lors de l'affichage ou de l'ajout d'un utilisateur

Je viens d'installer une nouvelle version de WP que j'ai transférée à une installation réseau (en utilisant les instructions trouvées ici ).

Tout semblait aller bien et j'ai pu ajouter un nouveau site avec succès, mais je rencontre des problèmes pour lister/ajouter des utilisateurs.

Lorsque je clique sur l'élément de menu Users, la liste affiche l'avertissement suivant:

Avertissement: array_keys () s'attend à ce que le paramètre 1 soit un tableau, booléen donné dans {mon-répertoire}\wp-admin\includes\class-wp-users-list-table.php à la ligne 307

Cette ligne est - $editable_roles = array_keys( get_editable_roles() ); - le problème est que get_editable_roles() est en train de tourner false.

Le même problème se produit également lorsque j'essaie d'ajouter un utilisateur, même si l'avertissement se trouve à un emplacement différent -

Avertissement: array_reverse () s'attend à ce que le paramètre 1 soit array, booléen dans {my-dir}\wp-admin\includes\template.php à la ligne 843

J'ai essayé l'évident, en désactivant tous les plugins (j'en avais ajouté un) et en basculant sur le thème par défaut, mais les avertissements demeurent.

En regardant get_editable_roles(), je peux voir que le $wp_roles->roles global est vide, bien que $wp_roles->role_objects soit correctement rempli. De là, je ne sais pas vraiment où aller ensuite.

Quelqu'un peut-il s'il vous plaît suggérer comment je peux résoudre ce problème?

3
David Gard

Dans la base de données, l'option wp_user_roles dans wp_options était vide. J'ai copié la valeur de la même option dans wp_2_options, car j'avais déjà ajouté un autre blog.

De plus, tous les utilisateurs du blog d'origine (celui-ci était opérationnel avant d'être remplacé par un réseau) ne figuraient pas parmi les options wp_capabilities et wp_user_level dans wp_usermeta. De ce fait, la fonction get_editable_roles() échouait et provoquait les erreurs répertoriées ci-dessus.

Pour résoudre ce problème, pour chaque utilisateur du blog d'origine, j'ai copié les entrées des niveaux d'utilisateurs appropriés à partir des données stockées sous wp_2_capabilities et wp_2_user_level.

1
David Gard