wake-up-neo.com

Beiträge vom benutzerdefinierten Beitragstyp werden im Archiv "Kategorie" nicht angezeigt

Ich habe mehrere benutzerdefinierte Beitragstypen erstellt, die "Kategorie" teilen sollen.

Die Erstellung erfolgt folgendermaßen:

 $args = array(
        'label'               => __('MyPostType', 'key'),
        'description'         => __('MyPostType', 'key'),
        'labels'              => $labels,
        'supports'            => array('title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'trackbacks', 'revisions', 'custom-fields'),
        'taxonomies'          => array('category'),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'menu_position'       => 5,
        'menu_icon'           => 'dashicons-admin-tools',
        'show_in_admin_bar'   => true,
        'show_in_nav_menus'   => true,
        'can_export'          => true,
        'has_archive'         => 'techblog',
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
        'rewrite'             => $rewrite
    );

register_post_type('myposttype', $args);

Dies funktioniert wie erwartet und ich kann Kategorien global verwenden.

Das Problem

Das Kategoriearchiv zeigt nur Beiträge von "post". Wenn es keinen Beitrag gibt, heißt es nur "nichts gefunden". Innerhalb der Metainformationen der einzelnen Beiträge werden die Beitragskategorien aufgelistet. Ich kann darauf klicken und eine Seite "Nichts gefunden" erhalten.

Leider sagt die Dokumentation nichts darüber aus. Muss ich noch etwas tun? Ich dachte, das sollte sofort funktionieren.

1
Adrian

Sie müssen sich in die Abfrage einbinden, da die Kategoriearchivseite explizit nur den Typ "Post" und nichts anderes enthält.

function namespace_add_custom_types( $query ) {
  if( (is_category() || is_tag()) && $query->is_archive() && empty( $query->query_vars['suppress_filters'] ) ) {
    $query->set( 'post_type', array(
     'post', 'myposttime'
        ));
    }
    return $query;
}
add_filter( 'pre_get_posts', 'namespace_add_custom_types' );

Geändert von diesem Artikel über CSS-Tricks.

6
socki03