←back to Blog

N’appelez jamais une taxinomie de WordPress « type »

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 »”

  1. Avatar de Sylvain
    Sylvain

    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 !

  2. Avatar de Nicolas
    Nicolas

    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

  3. Avatar de Amaury
    Amaury

    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 :'(

  4. Avatar de Amaury
    Amaury

    Je vais en profiter pour ajouter cette liste de mots clefs comme réservé sur mon plugin Simple Taxonomy.

  5. Avatar de GeekPress
    GeekPress

    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.

  6. Avatar de Amaury
    Amaury

    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.

  7. Avatar de GeekPress
    GeekPress

    Ah oui en effet, je ne vois aucun fichier dans la partie « Bibliothèques ».

    Par contre la section « Galerie » fonctionne parfaitement :)

  8. Avatar de Amaury
    Amaury

    bibliothèque seulement en effet ;)

  9. Avatar de Ozh
    Ozh

    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…

  10. Avatar de Amaury
    Amaury

    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 ;)

  11. Avatar de taiola
    taiola

    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.