2017-04-11 2 views
0

Ich habe Mühe, meine benutzerdefinierte Beitragstyp meine benutzerdefinierte Archivvorlage zu verwenden, hoffentlich kann jemand sehen, wo ich falsch liege und mir helfen, wieder auf den richtigen Weg? HierWordpress benutzerdefinierte Beitragstyp mit Kategorien Archivseite

ist der Code, den ich verwendet habe, die benutzerdefinierte Post-Typ zu erstellen:

add_action('init', 'news_post_type'); 
function news_post_type() { 
    register_post_type('news', 
    array(
     'labels' => array(
     'name' => __('News'), 
     'singular_name' => __('News') 
    ), 
     'capability_type' => 'post', 
     'has_archive' => true, 
     'hierarchical' => true, 
     'public' => true, 
     'supports' => array('title','editor','excerpt','trackbacks','custom-fields','revisions','thumbnail','author','page-attributes',) 
    ) 
); 
} 
register_taxonomy('news_category', 'news',array('label' => __('Categories'),'rewrite' => array('slug' => 'news/category'),'hierarchical' => true,)); 

Das ist sehr gut und die URL zurückkehrt: www.mysite.com/news/category/%the_category% so wie ich wollen.

Das Problem ist, dass ich möchte, dass jede der Kategorien in diesem CPT meine benutzerdefinierte Vorlage verwenden, aber wenn ich eine Datei mit dem Namen archive-news.php erstellen, wird es ignoriert. Wenn ich jedoch eine Datei mit dem Namen archive.php anlege, funktioniert es, aber offensichtlich wird das auf alle anderen Postarchive angewendet, die ich nicht möchte.

Benenne ich die Vorlagendatei nicht korrekt? Gibt es einen Fehler bei der Erstellung des CPT?

Wenn jemand helfen kann, würde das sehr geschätzt werden.

Vielen Dank

+0

https://codex.wordpress.org/Category_Templates 'Kategorie-slug.php, Kategorie-ID.php, category.php, archive.php, index.php' –

+0

die Datei zur Kategorie umbenennen -news.php hat auch nicht funktioniert :( – Ordog

+0

versuche ID der Kategorie, oder in deiner archive.php mache so etwas wie '? https://developer.wordpress.org/reference/functions/get_template_part/ –

Antwort

0

Die Verwendung der Taxonomie-Vorlage funktionierte in dieser Instanz, so dass die Benennung meiner Datei taxonomy-news_category.php mir erlaubte, meine eigene Vorlage für alle Kategorien in meinem benutzerdefinierten Beitragstyp zu erstellen.

Ich fand auch, dass eine Seite mit dem gleichen Namen wie der benutzerdefinierte Beitragstyp verursacht Probleme verursacht. Benennen Sie die Seite also zusammen oder verwenden Sie die Taxonomievorlage wie oben.

0

Ich habe mit Ihrem Code überprüfen als richtig auf meiner Seite arbeiten. ich denke, Sie überprüfen auf der Detailseite, welche single- $ posttype.php-Datei.

+0

Ich schaue nicht auf die einzelne Seite, definitiv die Kategorie eins :) – Ordog

Verwandte Themen