web-dev-qa-db-fra.com

Deux administrateurs dans les utilisateurs et un dans la base de données?

Lors du déplacement du site WP d'un client vers un nouvel hôte (site unique, pas multi), j'ai constaté que Dashboard >> Users (utilisateurs) répertorie deux comptes d'administrateur (au-dessus des émissions détaillées, Tous (2), Administrateur (2)), mais n'en montre qu'un dans la liste détaillée ci-dessous; Un seul compte administrateur apparaît dans la table wp_users avec l'ID 1. Où se trouve ce compte administrateur supplémentaire? Et comment puis-je l'enlever?

(Inutile de m'avertir de la sécurité: il n'y a aucune trace de piratage sur le compte. Lors du transfert vers le nouvel hôte, tous les mots de passe ont été modifiés, la sécurité améliorée, les nouveaux fichiers principaux 3.0.4 téléchargés et le vidage de la base de données uniquement. un administrateur.)

1
markratledge

Cela est généralement dû au fait que les utilisateurs suppriment des comptes directement dans la base de données. Les fonctions qui comptent les utilisateurs interrogent la table usermeta pour déterminer le nombre d’utilisateurs d’un type donné. Lorsque les utilisateurs effectuent une suppression manuelle, ils oublient souvent de supprimer les données relationnelles laissées dans la méta-table, ce qui annule le décompte.

Les images ci-dessous montrent comment ce que j'ai dit ci-dessus est vrai (bien que je reconnaisse qu'il existe toujours une chance que ce ne soit pas le problème que vous rencontrez).

Deux administrateurs

Two admins

Suppression d'un enregistrement d'utilisateur

Deleting the user record in the users table

Affichage de la liste des administrateurs après la suppression de l'enregistrement d'un utilisateur

Seeing the misreported admin count

Si vous voulez vérifier l'installation pour les méta utilisateur redondants, vous pouvez trouver des ID utilisateur qui n'ont pas d'enregistrement correspondant dans la table users de PhpMyAdmin en utilisant du code SQL.

 SELECT DISTINCT user_id FROM wp_usermeta WHERE NOT EXISTS(SELECT ID FROM wp_users WHERE ID = user_id)

Si vous souhaitez que cette requête soit intégrée à du code WP ready, il vous suffit de demander .. :)

3
t31os

C'est probablement un bug. Quelque chose de similaire a été signalé dans Ticket # 16367 : le numéro affiché au-dessus de la liste ne correspond pas aux entrées de la liste:

Le nombre est mis en cache et mis à jour deux fois par jour. Ce n'est pas un décompte en direct.

Vous devrez probablement attendre quelques heures de plus jusqu'à ce que ce soit correct si vous utilisez le multi-site et parlez des super-administrateurs.

Si ce n'est pas le cas et que vous pouvez toujours reproduire le problème, veuillez le signaler au projet wordpress, car il pourrait s'agir d'un bogue qui doit être corrigé en premier.

0
hakre