J'essaie de créer et d'appliquer une telle relation entre custom_post_types.
Question:
Comment 'relier' les post_types de manière à permettre de trouver un parent/enfant de n'importe quel type de post_type?
Exemples:
Interroger le parent de 'troc' devrait donner classified_post_type
.
L'interrogation des noeuds feuilles de type_post_utilisateur indique tous les noeuds feuille. etc
Je comprends que cela ne peut être réalisé simplement en créant custom_post_types. Mais existe-t-il un moyen comme taxonomy/metafield de lier différents types de publications personnalisées? En fait, je ne suis pas enclin à utiliser customn_post_types. Je veux juste le comportement mentionné ci-dessus, si possible.
ty
Je vous suggère de créer une taxonomie hiérarchique commune que vous enregistrez avec chacun de vos types d'articles personnalisés.
Les termes de cette taxonomie correspondraient à vos types de publication personnalisés (par exemple, utilisez le slug de type de publication personnalisé comme terme slug).
Vous pouvez ensuite structurer votre taxonomie pour qu'elle corresponde à la hiérarchie que vous avez conçue, et chaque fois que vous devez rechercher le parent/enfant que vous renvoyez à la taxonomie.
Vous pouvez avoir des champs méta parent_post et child_post pour stocker les ID de publication des publications parent et enfant respectives.
utilisez la taxonomie, vous pouvez ensuite identifier par catégorie (comme la catégorie de publication ou les balises).
add_action( 'init', 'create_custom_tax' );
function create_custom_tax() {
register_taxonomy(
'category',
'user-post-type', // name of your custom post type
array(
'label' => __( 'Category' ),
'rewrite' => array( 'slug' => 'category' ),
'hierarchical' => true,
)
);
}
https://codex.wordpress.org/Function_Reference/register_taxonomy
Comme @Milo l'a dit, une solution rapide serait le plugin Posts 2 Posts. J'utilise Pods Framework pour cela depuis environ 2-3 ans maintenant. Il est facile d'implémenter des relations à l'aide de son interface utilisateur ou de sa puissante API.