Si j'ai bien compris, les types d'articles personnalisés peuvent également partager des tags avec les articles.
J'ai créé des tags et les ai appliqués à un article de blog et à un type d'article personnalisé.
Pourtant, lorsque je clique sur une étiquette, elle ne renvoie que les articles de blog.
J'ai cette ligne dans mon type de message de registre:
'taxonomies' => array('post_tag')
Mais j'ai aussi cela en dehors de la fonction
register_taxonomy_for_object_type('post_tag', 'projects');
Est-ce qu'ils font la même chose? Aussi, pourquoi ne renvoie-t-il pas de messages personnalisés avec cette balise?
Oui, les deux assignations fonctionnent de la même manière, mais l'archive post_tag
utilise le type de publication post
uniquement par défaut. Ne vous inquiétez pas, il y a un crochet pour vous: pre_get_posts
.
Exemple avec des balises pour les pages:
// register tags for pages
add_action( 'wp_loaded', 'wpse_75297_register_tags_for_pages' );
function wpse_75297_register_tags_for_pages()
{
register_taxonomy_for_object_type( 'post_tag', 'page' );
}
// add post type 'page' to tax query
add_filter( 'pre_get_posts', 'wpse_75297_add_pages_to_tax_query' );
function wpse_75297_add_pages_to_tax_query( $query )
{
if ( ! is_main_query() or ! is_tag() )
return $query;
$query->set('post_type', array('page','post'));
return $query;
}
Assurez-vous que le type de message est orthographié correctement. Si votre type de message est project
, vous ne pouvez pas utiliser projects
dans un autre filtre.