2017-10-24 6 views
-1

Sehr geehrte Stackoverflow CommunityAnzeigen Kategorieübersicht eines benutzerdefinierten Beitragstyp

Ich habe eine Wordpress-Website mit Kategorien und auch eine benutzerdefinierte Beitragstyp.

Jetzt möchte ich alle benutzerdefinierten Beitragstyp Beiträge aus einer bestimmten Kategorie auf einer Website auflisten.

Bei normalen Beiträge es funktioniert, und alle Beiträge es die Kategorie-Archiv auf der Website-URL/custom-post-Typ-Schnecke/Kategorie-Slug aufgeführt

Aber jetzt möchte ich, dass auch der Beitrag von Der benutzerdefinierte Post-Typ wird aufgelistet.

Wie kann ich sie in die Kategorie Archiv aufnehmen?

Mit freundlichen Grüßen Lukas

Antwort

1

Wenn Sie Ihre benutzerdefinierten Post Typ registrieren. Sie können einen Parameter has_archive hinzufügen, um sie in Archive aufzunehmen.

Beispiel:

register_post_type('custom', 
    array(
     'labels' => array(
     'name' => __('Cryptomonnaie'), 
     'singular_name' => __('Cryptomonnaie') 
    ), 
      'public' => true, 
      'has_archive' => true, 
      'taxonomies'   => array('category', 'post_tag'), 
    ) 
); 

Wenn die has_archive Parameter bereits gesetzt ist. Sie können versuchen, einen Filter auf Ihre functions.php Datei hinzufügen Abfrage für die Kategorie zu ändern und Tags, um diese Art und Weise:

add_filter('pre_get_posts', 'query_post_type'); 
function query_post_type($query) { 
if(is_category() || is_tag()) { 
     $post_type = get_query_var('post_type'); 
     if($post_type) 
      $post_type = $post_type; 
     else 
      $post_type = array('post','photo', 'geek', 'sport', 'bio', 'news','tv', 'trends', 'societe'); // replace cpt to your custom post type 
     $query->set('post_type',$post_type); 
     return $query; 
     } 
} 
+0

Thank you! Durch Hinzufügen Ihrer Funktion funktioniert es, aber leider ist die Navigation verschwunden. Lukas – Luke

+0

Die Navigation? Was meinen Sie? – Doyou

+0

In meiner themes-Datei header.php steht geschrieben: 'primary')); ?> aber auf der Kategorie Archiv verschwindet dieses Menü vollständig. Nur das html herum bleibt. Auf allen anderen Seiten ist das Menü sichtbar. Bitte checken Sie aus: https://spielraum-maybaum.ch/produktgruppen/zwergenwelt/ – Luke

0

Wenn Sie CPT UI verwenden benutzerdefinierte Post-Typ zu erstellen gibt es eine Option "Hat Archive ". Setzen Sie es auf True.

Ansonsten

function create_post_type() { 
    register_post_type('acme_product', 
    array(
     'labels' => array(
     'name' => __('Products'), 
     'singular_name' => __('Product') 
    ), 
     'public' => true, 
     'has_archive' => true, 
    ) 
); 
} 
add_action('init', 'create_post_type'); 
0

Dieser Code gemacht:

add_filter('pre_get_posts', 'query_post_type'); 
function query_post_type($query) { 
    if(is_category() && $query->is_main_query() && empty($query->query_vars['suppress_filters'])) { 
    $query->set('post_type', array(
    'replace_with_custom_post_type')); 
     return $query; 
    } 
} 
Verwandte Themen