Devrais-je inscrire le parent et l'enfant en tant que 'hierarchical' => true
, s'il n'y a pas de petit-enfant?
Si "Film" est la taxonomie de niveau supérieur, lorsque j'enregistre un enfant, est-ce aussi simple que: 'parent_item' => __( 'Parent Movie' )
?
Comment attribuer automatiquement une taxonomie enfant à un post? Jusqu'ici, j'ai compris comment attribuer une taxonomie à un article, mais est-ce que cela fonctionne bien avec la taxonomie des enfants? wp_set_object_terms($post_ID, $cat, 'category');
Si j'interroge une taxonomie parentale, l'enfant sera-t-il inclus dans les résultats ou non?
Si les taxonomies ne figurent pas dans la args
de register_post_type
, fonctionneront-elles encore?
Trop pour un commentaire, je le laisse donc pour une réponse:
wp_set_post_terms();
, wp_set_object_terms();
ou d’autres fonctions, mais c'est plus interne et difficile à gérer car vous devez vérifier chaque demande, qu'elle existe déjà ou non (ajoute DB-requêtes), donc ce n'est pas vraiment recommandé, car vous ne pouvez pas le faire avec l'activation du thème tant que WP ne propose pas de crochet ici.tax_query
. Faire quelque chose comme if is child of
peut être fait avec des fonctions telles que get_term_children();
. Si vous créez un lien vers une archive de termes, vous pouvez modifier la requête (recherche WPSE) afin d'inclure également les termes enfants.save_post
et similaires. Vous trouverez ici suffisamment de réponses sur WPSE pour vous montrer comment. Tu es proche.parent_item
et parent_item_colon
permettent de définir votre texte personnalisé et ne peuvent pas enregistrer de taxonomies "enfants". Ils servent uniquement à modifier le texte par défaut que vous voyez dans l'interface utilisateur d'administration.Notes de bas de page:
Si vous enregistrez une taxonomie sous la forme hierarchical=>true
, elle deviendra une catégorie et vous pourrez créer des relations parent-enfant au sein de cette taxonomie. Par contre, si vous enregistrez une taxonomie sous la forme hierarchical=>false
, cela deviendra une étiquette, ce qui signifie aucune relation parent-enfant. Vous devrez peut-être obtenir l'identifiant d'un terme, utilisez la fonction term_exists , puis utilisez wp_insert_term pour insérer un nouveau terme, avec parent comme id que vous avez obtenu avec term_exists.