web-dev-qa-db-fra.com

Comment puis-je combiner des publications de types différents dans une hiérarchie?

J'aimerais créer un type d'article personnalisé et l'ajouter comme article enfant de certains articles standard existants (mais pas de tous les articles existants) (qui ne sont pas des pages). Est-ce possible?

Puis-je, par exemple, créer un type de publication personnalisé, puis l'inclure dans d'autres publications à l'aide d'un shortcode? Y a-t-il une meilleure façon de faire cela en utilisant des taxonomies personnalisées?

3
codecowboy

Y a-t-il une meilleure façon de faire cela en utilisant des taxonomies personnalisées?

Vous avez raison sur l'argent là-bas. Plutôt que d'essayer de créer une publication personnalisée dans l'enfant d'une publication standard (car vous ne pouvez pas le faire), je vous recommande d'utiliser une taxonomie personnalisée pour commander des articles.

Pour l'essentiel, vous pouvez créer une taxonomie hiérarchique personnalisée et l'utiliser pour "classer" les publications standard et les publications personnalisées. Vous marquez vos publications standard en tant que parent dans la taxonomie et vos publications personnalisées en tant qu'enfant.

Une deuxième option

Une autre option consisterait à utiliser un champ personnalisé pour l'héritage parental. Cela pourrait être un peu plus rapide à coder et plus intuitif à utiliser (en plus, cela vous donnera un contrôle supplémentaire).

Ajoutez un champ méta personnalisé à votre type de message personnalisé appelé "parents". Il peut alors s'agir d'une liste d'identifiants de publication dans lesquels la publication enfant doit être imbriquée. Lorsque vous devez appeler la liste, vous pouvez effectuer une requête rapide sur SELECT pour toutes vos publications personnalisées dont l'ID parent est en question dans la liste "parents".

2
EAMann

Je pense que le plugin Posts 2 Posts fait ce que vous devez faire. Vous devrez écrire vous-même une partie de la logique, mais elle fournit une API Nice pour les relations plusieurs à plusieurs entre les publications (de tout type).

0
bobdiaes

Puis-je, par exemple, créer un type de publication personnalisé, puis l'inclure dans d'autres publications à l'aide d'un shortcode? Y a-t-il une meilleure façon de faire cela en utilisant des taxonomies personnalisées?

<?php query_posts( array( 'post_type' => array('post', 'CUSTOM_POST_TYPE_HERE') ) ); ?>

Mettez ceci dans le modèle approprié ci-dessus if(have_posts()). Cela permettra aux deux publications et à votre type personnalisé d'être affichés.

0
topher