Wie zeige ich eine Listungsvorlage einer bestimmten Taxonomie an?

Ich versuche herauszufinden, wie ich eine Liste bestimmter Taxonomien ( categorycourses Kurse) anzeigen kann.

In der functions.php zum Thema habe ich:

 //Register custom taxonomy for courses-categories $course_cat_args = array( 'hierarchical' => true, 'labels' => $course_cat_labels, //Other labels set before 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'hierarchical' => true ) ); register_taxonomy( 'categorycourses', array('course'), $course_cat_args ); 

Die tatsächliche Taxonomie funktioniert im admin gut.

Jetzt versuche ich eine Vorlage für categorycourses am Frontend zu erstellen, die alle Kurskategorien auflistet.

Ich habe mir die Template-Hierarchie angesehen und dachte, ich sollte eine Datei mit dem Taxonomie-Namen categorycourses.php erstellen

Also habe ich im Ordner themes eine Datei namens categorycourses.php . Ich habe auch versucht, categorycourses-categorycourse.php , archive-categorycourses.php erstellen, aber ich bekomme immer einen 404-Fehler.

Bitte nimm mich mit. Ich verstehe viele Backend-Sachen in WP, aber ich lerne nur, wie man Vorlagen am Frontend erstellt.

Ich bin in der Lage, Archiv-Seiten für bestimmte Post-Typen zu erstellen, so dass Regeln und so weiter auf meinem lokalen Server funktionieren.

Was mache ich falsch?

UPDATE 1. Ich habe versucht, einen Dateinamen taxonomy-categorycourses.php zu erstellen, und mit demselben Ergebnis (404 error) habe ich permalink-settings in admin gelöscht, indem ich sie erneut speichere

Ich habe es auch versucht:

 $course_cat_args = array( 'hierarchical' => true, 'labels' => $course_cat_labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array('slug' => 'soup') ); register_taxonomy( 'categorycourses', array('course'), $course_cat_args ); 

Ich versuche, mit http://server/soup auf die Vorlage zuzugreifen, bekomme aber trotzdem den Fehler. (nach dem erneuten Speichern der Permalink-Einstellungen im Admin)

UPDATE2: * Ich denke, ich habe es herausgefunden: * Es scheint keine Vorlage für “Root-Taxonomie” zu geben. Sie müssen eine bestimmte Kurskategorie auswählen, die als Root fungiert.

In meinem Fall habe ich diese Datei erstellt:

 taxonomy-categorycourses-semester2014.php 

Wenn ich dann auf http://server/soup/semester2014 zugreife, wird das erwartete Template (t axonomy-categorycourses-semester2014.php ) angezeigt.

Aber es scheint keine Möglichkeit zu geben, tatsächlich eine “Stammvorlage für eine Taxonomie” wie http://server/soup/ zu erstellen. Auch wenn ich eine Vorlage namens taxonomy-categorycourses.php erstelle, funktioniert das nicht.

Ist das richtig?

Solutions Collecting From Web of "Wie zeige ich eine Listungsvorlage einer bestimmten Taxonomie an?"

Was Sie tun möchten, ist ohne eine page.php Art von Vorlage unmöglich. Es gibt keine Vorlagenhierarchie , die das unterstützt, was Sie erreichen möchten. Es funktioniert genau so mit Kategorien. taxonomy-categorycourses.php zeigt keine Liste von categorycourses , also category-categorycourses.php wenn categorycourses eine normale Kategorie ist. Wenn Sie auf categorycourses klicken, werden Sie auf eine Seite geleitet, auf der Beiträge aus dieser Taxonomie oder Kategorie angezeigt werden.

Wenn Sie eine Liste von Begriffen oder Kategorien unter einer Taxonomie page.php müssen, müssen Sie eine benutzerdefinierte page.php Vorlage erstellen und get_the_terms() , um eine Liste aller mit einer Taxonomie get_the_terms() Begriffe / Kategorien zu erhalten. wp_list_categories( $args ) gibt die Liste aus, sodass Sie diese ändern können, um anzuzeigen, was Sie benötigen. Sie können die Vorlage page.php Ihrer Themes page.php und so etwas wie page-tax.php Sie müssen die Schleife in dieser Vorlage ändern. Hier ist ein Beispiel für das vierundzwanzigste Thema.

  < ?php /** * Template Name: Page Tax */ get_header(); ?> 
< ?php //list terms in a given taxonomy using wp_list_categories (also useful as a widget if using a PHP Code plugin) $taxonomy = 'brands'; $orderby = 'name'; $show_count = 0; // 1 for yes, 0 for no $pad_counts = 0; // 1 for yes, 0 for no $hierarchical = 1; // 1 for yes, 0 for no $title = ''; $args = array( 'taxonomy' => $taxonomy, 'orderby' => $orderby, 'show_count' => $show_count, 'pad_counts' => $pad_counts, 'hierarchical' => $hierarchical, 'title_li' => $title ); ?>
    < ?php wp_list_categories( $args ); ?>
< ?php get_sidebar( 'content' ); ?>
< ?php get_footer();

Denken Sie daran, $taxonomy = 'brands'; zu ändern $taxonomy = 'brands'; zu deinem Taxonomennamen. Sie können jetzt im Bildschirm "Neue Seite hinzufügen" eine neue Seite erstellen, den Seiten-Slug auf den Taxonomennamen einstellen und diese Vorlage auswählen. Sie können nun http://server/categorycourses/ eingeben und Sie werden auf diese Seite weitergeleitet, die Sie erstellt haben.

Ursprüngliche Antwort Ihre Antwort ist in dem von Ihnen angegebenen Link richtig. Der Kodex sagt es perfekt, Sie müssen es nur richtig implementieren. Ihre Vorlage sollte taxonomy-categorycourses.php heißen. Bitte beachten Sie den von Ihnen angegebenen Link

UPDATE1 Schlage mich wie eine Tonne Ziegelsteine, hatte vor einer Weile das gleiche Problem mit einem CPT, und das habe ich übersehen, als ich deinen Code angeschaut habe. Damit Ihre benutzerdefinierte Vorlage funktioniert, müssen Sie bei der Registrierung Ihres benutzerdefinierten Beitragstyps den Argumenten 'has_archive' => true, hinzufügen. Gehen Sie für Ihre Informationen zur Registrierung von Taxonomien und zum Registrieren von benutzerdefinierten Beitragstypen