J'ai modifié un ancien script système de badge inspiré de Stackoverflow pour qu'il fonctionne avec la dernière version de Wordpress. Vous pouvez voir le code ici (et n'hésitez pas à l'utiliser si vous le souhaitez).
Il a un système de condition qui détecte Post tags
, Post count
et Comment count
. Vous pouvez créer des badges personnalisés et leur attribuer des conditions. Cela fonctionne parfaitement à côté d'un bug très aléatoire que je ne peux pas corriger.
J'ai créé un site de test Wordpress et créé 10 comptes. J'ai joué avec les utilisateurs et les badges ont été attribués en fonction de leurs conditions. Ainsi, par exemple, si un utilisateur publie 10 articles, il se verra attribuer le badge Junior Publisher
.
Cependant, un utilisateur s'est vu attribuer instantanément tous les badges lors de la création du compte. Cet utilisateur n'a pas de messages ou commentaires. Encore plus étrange, lorsque j'ajoute un nouveau badge, cet utilisateur est automatiquement récompensé! Il n'y a pas de différence entre cet utilisateur et les autres utilisateurs. Tous ont les privilèges Contributor
. Le numéro d'identification de cet utilisateur est 5.
Pouvez-vous s'il vous plaît m'aider à détecter pourquoi le script se comporte comme ceci? Évidemment, je ne peux pas ajouter le script à un site actif, mais à la peur d'utilisateurs aléatoires recevant tous les badges comme cet utilisateur. .
La ligne 704 mentionne quelque chose à propos de "User_ID => 5". Pas sûr, mais cela pourrait avoir quelque chose à voir avec votre problème?
// debug stuff
$args = array('user_ID' => 5);
rhb_check_user_badges( $args );