WordPress, le zéro, et l’accord du nom : pourquoi “0 commentaire” peut devenir un problème (surtout en français).
Il y a deux certitudes dans la vie : WordPress finira toujours par nous rappeler qu’il a été pensé en anglais, et l’on finit toujours par débattre de grammaire sur Internet.
Aujourd’hui, on parle d’un détail qui a l’air anodin, mais qui fait immédiatement réagir quand on écrit du français correctement : l’accord du nom après zéro.
Vous avez surement déjà croisé sur des sites francophones la mention “0 commentaire” alors que vous vous attendiez à voir “0 commentaires.” Le souci, c’est que WordPress applique une règle de pluriel qui ne colle pas à la logique française… et parfois même pas à la logique tout court.

1|Le concept de l’article : “zéro” est-il singulier ou pluriel ?
Le problème vient d’un cas grammatical un peu particulier : comment accorder un nom quand il est précédé de zéro ?
Dans l’interface d’un site, c’est omniprésent :
- 0 commentaire(s)
- 0 produit(s)
- 0 message(s)
- 0 résultat(s)
Et comme WordPress gère ça via son système de traduction (gettext), il doit choisir entre deux formes :
- une forme singulière
- une forme plurielle
Sauf que… “zéro” n’est pas “un”, donc pose rapidement problème.
La règle de grammaire : accord du nom après zéro (en français)
En français, la règle la plus standard (et celle attendue dans une interface) est simple :
✅ Après zéro, on met le pluriel. Donc on écrit :
- 0 commentaires
- 0 messages
- 0 résultats
Pourquoi ? Parce que zéro exprime une quantité nulle, et en français, cette quantité est traitée comme un pluriel dans l’usage courant.
Oui, il existe des discussions stylistiques et des cas particuliers (notamment en poésie ou en formulations très spécifiques), mais dans un contexte UI/UX, “0 commentaires” est la forme naturelle et correcte.
Est-ce que cette règle concerne toutes les langues ? (anglais vs français)
Et là, ça devient intéressant : non, ce n’est pas universel.
🇫🇷 Français
- 0 = pluriel
- “0 commentaires”, “0 articles”, etc.
🇬🇧 Anglais
En anglais, c’est aussi généralement :
- 0 = pluriel
- “0 comments”, “0 messages”, etc.
Mais l’anglais est souvent plus souple dans l’usage oral, et surtout il a moins de “charge grammaticale” sur ce genre d’accord. En interface, 0 + pluriel est la norme quasi partout. Donc si WordPress génère “0 comment” en anglais, ce n’est pas une “variante acceptable”.
D’où vient le problème dans WordPress ?
WordPress utilise les fonctions de traduction gettext, notamment _n() pour gérer singulier/pluriel.
Dans son principe le plus simple, le moteur fait un test basique du genre :
return 1 === (int) $count ? $singular : $plural;
Traduction humaine :
- si
$countvaut 1, WordPress prend le singulier - sinon (donc 0, 2, 42, etc.), WordPress prend le pluriel
Sur le papier, ça paraît raisonnable. Sauf que ça repose sur une idée : le singulier n’existe que pour 1. Et si vous tombez sur une langue (ou un contexte) où zéro ne suit pas la même règle, vous serez coincé. Dans notre cas, nous voulons nous assurer d’un comportement propre en français, sans réécrire l’intégralité de _n().
Le snippet : forcer la règle française pour zéro (0 → pluriel)
Voici un snippet prêt à l’emploi pour WordPress : il intercepte la traduction plurielle via le filtre ngettext, et si le nombre est 0 et la locale est française, il force le pluriel “comme si on était à 1” dans le système de pluralisation (c’est une astuce propre pour déclencher la forme attendue).
Objectif : corriger l’affichage des chaînes traduites avec
_n()quand$number === 0en français.
Avant d’utiliser ce snippet, assurez-vous d’avoir installé l’extension Code Snippets (gratuite) sur votre site WordPress. Si ce n’est pas le cas, vous pouvez la télécharger via le lien ci-dessous. Si vous n’avez jamais ajouté de fonctionnalité spécifique à votre site WordPress, nous vous recommandons de commencer par lire notre guide dédié (lien ci-dessous).
2|Prérequis
Voici la liste des extensions nécessaires au bon fonctionnement de ce snippet. Assurez-vous de les installer avant d’activer le snippet.
| WooCommerce | Nécessaire pour la vente de produits virtuels sur votre site |
3|Snippet WordPress
Ajoutez ceci dans le fichier functions.php (ou mieux : dans un mini-plugin MU). Les commentaires à l’intérieur du code vous guideront sur le fonctionnement de ce snippet.
Assurez-vous de cocher la case « Run snippet everywhere » avant d’activer le snippet.
add_filter('ngettext', function ($translation, $single, $plural, $number, $domain) {
if (is_numeric($number) && 0 === (int) $number) {
// Zero plural rule
if ('fr' === substr((string) get_locale(), 0, 2)) {
// French speaker only
$translations = get_translations_for_domain($domain);
$translation = $translations->translate_plural($single, $plural, 1);
}
}
return $translation;
}, 10, 5);
Ce que fait ce code :
- Il force l’usage de la forme plurielle attendue
- Il ne touche qu’au cas où
$numbervaut 0 - Il ne s’applique que si la locale commence par
fr - Il récupère les traductions du domaine courant
Conclusion : pourquoi ce snippet est utile (et nécessaire)
Ce snippet sert à résoudre un problème qui paraît anodin… jusqu’au moment où votre site affiche “0 commentaire” devant des milliers de visiteurs. Avec le risque de réceptionner quelques commentaires de linguistes émérites !
L’intérêt principal, c’est que l’on corrige un cas grammatical réel sans réécrire tout le système de traduction, et sans casser les autres langues. Il s’agit d’appliquer une règle simple : en français, zéro déclenche le pluriel, point.
Enfin, c’est aussi une bonne rustine “propre” pour les projets multilingues : vous ne touchez qu’au rendu final, uniquement dans le contexte FR, et uniquement sur la valeur 0. Résultat : votre interface redevient naturelle, crédible, et vous évitez que votre site donne l’impression d’avoir été traduit par une IA (pas au point, de surcroit).
Si vous souhaitez davantage personnaliser votre programme de fidélité, pensez à consulter la documentation WooRewards ou à faire appel à un développeur WordPress expérimenté (voir notre page de Développements sur mesure).
Nos extensions
Nous avons créé des extensions performantes et largement plébiscitées pour WooCommerce. Boostez vos ventes grâce à nos solutions
WooRewards

Découvrez l'extension de fidélité la plus puissante pour WooCommerce. Systèmes simples ou par niveaux, parrainages, réseaux sociaux, badges et succès, vous y trouverez tous les outils pour construire VOTRE programme de fidélité
En savoir plusVIP Memberships

VIP Memberships est un outil complet de gestion d'adhésions (memberships) pour votre site WooCommerce. Vendez des abonnements à vos clients et faites les profiter d'avantages comme des prix préférentiels ou des produits exclusifs
En savoir plusVirtual Wallet

Offrez à vos clients un portefeuille virtuel sur votre site web. Laissez-lez emmagasiner de l'argent en achetant vos produits et utiliser ce crédit lors de futurs achats. Cette extension propose aussi un outil de carte cadeaux complet
En savoir plusReferral Codes

Gagnez de nouveaux clients grâce à cet outil complet de référencement. Que ce soit par le biais d'influenceurs ou de simples référents, récompensez les ainsi que les nouveaux clients qu'ils amènent
En savoir plus