C’est dommage, mais l’API des taxinomies de WordPress ne possède pas de liste de mots clefs interdits lors de l’enregistrement. De fait, il est tout à fait possible d’appeler une taxinomie « page », « post », « category ». Parfois, cela pète dès l’enregistrement de la taxinomie, alors on change rapidement le nom sans perdre de temps. Parfois, c’est beaucoup plus vicieux et il faut passer beaucoup de temps à debugger pour trouver l’origine.
C’est justement le cas du mot « type », il ne faut JAMAIS l’enregistrer comme nom de taxinomie pour la simple et bonne raison que cela va faire bugger le gestionnaire de médias de WordPress. Une fois la taxinomie, ce dernier ne retournera aucun média dans la liste affichée dans les lightbox. En effet, le gestionnaire utilise le mot clef « type » pour différencier les vidéos/images/sons/documents. WordPress intercepte également ce mot clef pour limiter les résultats de la WP_Query qui récupère les médias à ceux classer dans la taxinomie « type », pour le terme « image », etc.
Conclusion, n’hésitez pas à choisir des noms de taxinomies assez longs pour éviter les effets de bords !
11 réponses à “N’appelez jamais une taxinomie de WordPress « type »”
Il est aussi très simple de mettre ses initiales en préfixe comme pour un plugin ou fonction. On s’évite bien des soucis !
En fait, dans le codex :
https://codex.wordpress.org/Function_Reference/register_taxonomy
Le mot « type » fait partie des termes réservés …
Mais on peut comme le suggère Sylvain mettre des initiales devant : « be_api_type » et si l’on souhaite vraiment utiliser « type » pour y accéder l’utiliser comme « slug » !
Le codex est un peu fouillis mais … on y trouve tout de même des renseignements précieux …
Nicolas
Merci pour cette liste :) Je ne la connaissais pas.
Par contre préfixer avec le nom de la société, non merci, en terme de lisibilité dans la lecture du code par le suite c’est pas génial.
Et puis si ton code est repris par un tiers, c’est loose de bosser avec des beapi-event, des beapi-location, des beapi-post :'(
Je vais en profiter pour ajouter cette liste de mots clefs comme réservé sur mon plugin Simple Taxonomy.
C’est bizarre, j’avais réalisé un site pour un client qui contient une taxonomy nommé type justement !
Je n’ai jamais eu aucun bug…
Ce bug apparait depuis quel version de WordPress ? A savoir que le site tourne actuellement sur WordPress 3.1.
Depuis WordPress 3.0, le problème existe. Pour vérifier le symptôme, il faut aller dans la page d’écriture d’un article et essayer d’ajouter un média depuis la galerie/bibliothèque.
Ah oui en effet, je ne vois aucun fichier dans la partie « Bibliothèques ».
Par contre la section « Galerie » fonctionne parfaitement :)
bibliothèque seulement en effet ;)
Il y a des termes réservés (cf la page de codex) mais on peut quand meme les utiliser pour créer le CPT? Ca vaut un ticket sur le trac ça…
Complètement d’accord Richard ! je pensais l’implémenter dans mon extensions de taxinomies.
Tu comptes faire le ticket ? Sinon je propose le ticket et le patch ;)
C’est bizarre, j’avais réalisé un site pour un client qui contient une taxonomy nommé type justement !
Je n’ai jamais eu aucun bug…
Ce bug apparait depuis quel version de WordPress ? A savoir que le site tourne actuellement sur WordPress 3.1.