it-swarm.com.de

Wie kann ich benutzerdefinierte Taxonomien mit benutzerdefinierten Beitragstypen verknüpfen und dafür sorgen, dass die Permalinks funktionieren?

So,

Ich habe meinen benutzerdefinierten Beitragstyp mit der Schnecke /news . Und ich möchte, dass meine Kategorieansicht /news/category/CATEGORYID ist.

Dafür erstelle ich meine eigene Taxonomie:

add_action('init', 'create_allfilmnews_categories', 0);
function create_allfilmnews_categories() {
    $labels = array(
        'name' => _x( 'Categories', 'taxonomy general name' ),
        'singular_name' => _x( 'Category', 'taxonomy singular name' ),
        'search_items' =>  __( 'Search categories' ),
        'all_items' => __( 'All category' ),
        'parent_item' => __( 'Parent category' ),
        'parent_item_colon' => __( 'Parent category:' ),
        'edit_item' => __( 'Edit category' ),
        'update_item' => __( 'Update category' ),
        'add_new_item' => __( 'Add new category' ),
        'new_item_name' => __( 'New category name' ),
        'menu_name' => __( 'News categories' ),
    );  

    register_taxonomy('news_category', 'news', array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'category' ),
    ));
}

Ich hatte gehofft, dass es, da es an Nachrichten benutzerdefinierten Post-Typ gebunden ist, und seine Schnecke "Kategorie" ist, also hoffte ich das natürlich auch würde funktionieren wie ich wollte (/ news/category/CATEGORYID). Und verwende meine benutzerdefinierte Kategorie-Vorlage, indem du einfach eine Datei im Vorlagenverzeichnis erstellst: category-news_category.php .

Natürlich funktioniert es nicht.

Ist es überhaupt möglich, eine benutzerdefinierte Taxonomie zu haben? Kategorien in benutzerdefinierten Post-Typen, die perfekt mit Permalinks funktionieren?

1

Zwei Dinge - ich denke die Kategorie URL wäre: yourdomain.com/news_category/NEWS-CATEGORY-SLUG-HERE

Wenn Sie beispielsweise eine Kategorie "Top-Überschriften" in Ihrer Taxonomie "news_category" erstellt haben, sieht dies folgendermaßen aus (vorausgesetzt, der Slug für "Top-Überschriften" lautet "Top-Überschriften"):

/ news_category/top-schlagzeilen /

Die zweite Sache ... Ich denke, Ihr Vorlagenname sollte "taxonomy-news_category.php" lauten.

(bearbeitet, um hinzuzufügen - ich glaube nicht, dass Sie den Slug als "Kategorie" bezeichnen können, da dies bereits von WordPress verwendet wird. Dies kann zu einem Konflikt in sich selbst führen. Ich könnte mich jedoch in diesem Punkt irren. .)

1
Jennifer Stuart