Si vous faites des manipulations entre vos taxonomies (étiquettes, catégories, custom taxonomies) pour les convertir ou les importer, vous avez surement remarqué qu’une fois vos manipulations terminées, les compteurs dans le back-office de WordPress sont faux : la valeur affichées dans la colonne Compte ne correspondant plus à la réalité.
Rassurez-vous, cette valeur sera mise à jour correctement par WordPress lorsque vous ajouterez ou supprimerez un article auquel est rattaché cet taxonomies.
Mais si vous êtes en plein « nettoyage » à faire des tris et à fusionner des taxonomies, vous risquez de supprimer des éléments qui apparaissent à 0 alors qu’il ne le sont pas (c’est du vécu).
Pour pallier à ce petit problème voici une requête SQL que vous pouvez effectuer en ligne de commande ou depuis phpMyAdmin pour mettre à jour ces compteurs :
UPDATE wp_term_taxonomy SET count = (
SELECT COUNT(*) FROM wp_term_relationships rel
LEFT JOIN wp_posts po ON (po.ID = rel.object_id)
WHERE
rel.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
AND
wp_term_taxonomy.taxonomy NOT IN ('link_category')
AND
po.post_status IN ('publish', 'future')
);
N’oubliez pas de remplacer les préfixes wp_ des différentes tables par celui que vous avez modifié, car évidemment vous n’êtes pas une buse en sécurité WordPress 😉