web-dev-qa-db-fra.com

Comment puis-je inclure des types de publication personnalisés sur une page de balises?

J'utilise des types de publication personnalisés, mais ils n'apparaissent pas dans les pages de balises ni dans les publications classiques. Je souhaite inclure des types de publication standard et personnalisés sur les pages de balises ou de catégories.

Que faudrait-il avant la boucle pour inclure tous les messages? (y compris le type personnalisé).

Mise à jour:
Pour ajouter, j'ai trouvé ce code ici , qui a parfaitement fonctionné pour la première partie:

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if ( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('post','cpt'); // replace cpt to your custom post type
    $query->set('post_type',$post_type);
    return $query;
    }
}

La deuxième question reste cependant:

Existe-t-il un moyen de permettre aux lecteurs de filtrer par type de message?

Donc, l’un des éléments suivants fonctionnerait.

  • example.com/tag/blue?post_type=custom
  • example.com/tag/blue?post_type=post
4
user3903
function post_type_tags_fix($request) {
    if ( isset($request['tag']) && !isset($request['post_type']) )
    $request['post_type'] = 'any';
    return $request;
} 
add_filter('request', 'post_type_tags_fix');

Vous pouvez modifier le type de message à votre convenance. De ce post. Les archives de balises de type post personnalisées ne fonctionnent pas pour la boucle de base?

4
Wyck

juste pour répondre à la deuxième partie, la syntaxe est la suivante:

example.com/tag/blue?post_type[]=custom
example.com/tag/blue?post_type[]=post

ou pour plusieurs types:

example.com/tag/blue?post_type[]=custom&post_type[]=post
0
majick