Mon réseau affiche des rôles sur certains sites et pas sur d'autres.
Pour une raison que je ne peux pas expliquer, lorsque j'ajoute un nouvel utilisateur, je n'ai aucun rôle à choisir dans la liste déroulante d'un sous-site de mon réseau. De plus, mon nouvel utilisateur affecté à un site n'apparaît pas sur ma liste d'utilisateurs pour ce site.
Est-ce quelque chose de réparable?
Ci-dessous une image de la situation actuelle.
Ci-dessous, l'image montre le site principal avec les rôles correctement, mais pas les sous-sites du réseau.
Si c'est le problème que je connais si bien, vous exécutez une configuration memcache derrière votre installation MU? J'ai trouvé qu'il y a apparemment un problème de cache (observé en 2.9) pour l'objet options où quelque chose de bien (comme la clé wp_user_roles) est coincé dans le tableau memcache "notoptions".
Si vous exécutez au sommet de memcache, et que cela ressemble à une possibilité, essayez de téléphoner à la machine via le 11211. Tapez
delete blogid:options:notoptions
, où le blogid est l'ID du blog sur lequel vous voyez le problème. Actualisez le panneau d'administration et voyez s'il y a des rôles dans la liste déroulante. Si oui, vous avez trouvé votre problème.MISE À JOUR : OK, donc vous n'avez pas trouvé votre problème - vous n'exécutiez pas memcache. Je vérifierais toujours l'objet rôles, à la recherche d'un objet corrompu ou inexistant. Je pense que c'est votre meilleure piste. Vous pouvez utiliser ce code pour vider la table d'options:
la source
J'ai eu ce problème avec une installation multisite après avoir réinstallé WordPress et restauré à partir d'une sauvegarde Updraft Plus.
Lorsque j'ai vérifié l'
user_roles
enregistrement, l'option_name était toujours défini sur le préfixe d'origine à quatre caractères, tel quepre1_user_roles
, tandis que le préfixe de la deuxième installation ressemblait à quelque chosepre2_user_roles
.J'ai mis cela à jour
pre2_user_roles
et les options sont immédiatement réapparues dans la page des options utilisateur.la source
MERCI. Ce problème représente un solide 10 heures de débogage. C'était un vrai ours pour moi.
Pour développer un peu, j'ai ajouté une fonction à mon site qui vous permettra de résoudre ce problème si vous créez des sites par programmation.
Fondamentalement, cela vérifiera si a
wp_user_roles
été défini dans le blog spécifié. Si c'est le cas, la fonction utiliserawp_user_roles
pour définir une nouvelle option de la bonne manière.la source
Je voulais juste vous remercier pour cet article car je cherche depuis longtemps une solution à ce problème.
C'est simplement parce que j'avais utilisé un plugin pour cloner mes sites et qu'il n'a jamais mis à jour
wp_##_user_roles
correctement. Lorsque le site a été copié,wp_13...
il a été cloné vers un nouveau site,wp_81...
mais cette entrée était toujours bloquéewp_13
.la source
Je veux simplement souligner que certaines personnes peuvent toujours avoir une table d'utilisateurs de site vide, en particulier pour leur site racine. Si ce problème se produit, la façon de résoudre ce problème est la suivante:
Je crois que "1" est toujours l'ID du site racine.
À votre santé.
la source
wp_
préfixe est défini sur sindewp-config.php
et est simplement défini par défaut surwp_
. En1
effet, c'est le site racine. Mais cela ne doit pas nécessairement l'être1
car il s'agit d'un ID unique et incrémenté généré automatiquement.