Ich habe festgestellt, dass dieser Ort in der Vergangenheit eine gute Informationsquelle war, indem ich viel nach den Problemen gegoogelt habe, auf die ich gestoßen bin. Meine Frage bezieht sich auf die ausführlichen Umschreiberegeln, die WordPress verwendet.
Ich habe einen benutzerdefinierten Beitragstyp namens " Projekt" eingerichtet und eine benutzerdefinierte Taxonomie namens " Projekte" registriert . Alles funktioniert hervorragend, bis auf die Optionen zum Umschreiben von Slugs, da diese zu Konflikten führen - höchstwahrscheinlich aufgrund der Umschreiberegeln.
Grundsätzlich ist dies die Struktur, die ich erreichen möchte:
example.com/work/%taxonomy%/%post_name%/
(für Beiträge)example.com/work/%taxonomy%/
(Liste der Beiträge, die zu einem bestimmten Taxonomiebegriff gehören)example.com/work/
(Gehen Sie zu page-work.php, die taxonomy.php enthält, um alle mit dieser Taxonomie verknüpften Beiträge aufzulisten.)
Hier ist der Code, den ich bisher habe, aber ich brauche Hilfe beim Schreiben der WP_Rewrite-Regeln, da dies das Bit ist, auf das ich ein bisschen ratlos bin.
$labels = array(
'name' => _x('Projects', 'post type general name'),
'singular_name' => _x('Project', 'post type singular name'),
'add_new' => _x('Add New', 'project item'),
'add_new_item' => __('Add New Project'),
'edit_item' => __('Edit Project'),
'new_item' => __('New Project'),
'view_item' => __('View Project'),
'search_items' => __('Search Projects'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'hierarchical' => true,
'rewrite' => array('slug'=>'work', 'with_front'=>false),
'show_ui' => true,
'_builtin' => false, // It's a custom post type, not built in!
'capability_type' => 'post',
'query_var' => "project", // This goes to the WP_Query schema
'menu_position' => null,
'supports' => array('title','editor','thumbnail', 'comments', 'author', 'excerpt')
);
register_post_type('project' , $args);
// Showcase Taxonomy
register_taxonomy('projects', array('project'), array(
'public' => true,
'hierarchical' => true,
'label' => 'Project Categories',
'singular_label' => 'Project Category',
'query_var' => true,
'rewrite' => array('slug'=>'work', 'with_front'=>false, 'hierarchical'=>true)
)
);
Vielen Dank für deine Hilfe! :-)
Antworten:
Hoffe das kann dein Problem lösen
Was Sie erstellen müssen, ist archive-work.php (Ihr Post-Typ-Archiv) und taxonomy.php, mit denen Ihr benutzerdefiniertes Taxonomie-Archiv angezeigt wird.
quelle
Ich hatte das gleiche Problem und nach vielen Schwierigkeiten kam ich zu dieser Lösung.
Fügen Sie dies einfach Ihrem Code hinzu
quelle
functions.php
in diesem Fall eingehen. Der Code für ein Plugin und ein Thema ist genau der gleiche, der einzige Unterschied besteht in den Themen, in die es immer geht,functions.php
oder in einer Datei, die infunctions.php
after_switch_theme
Haken zu verwenden, er ist neu in 3.3 (IIRC).Eine ausführlichere Erklärung finden Sie in einem anderen Beitrag. Hier sind jedoch die grundlegenden Teile, die Sie hinzufügen müssen:
Registrieren Sie Ihre Taxonomien und Cpt's wie Sie. Stellen Sie sicher, dass Ihr Umschreibungs-Slug für das Taxo "basename" und der Umschreib-Slug für das cpt "basename /% tax_name%" lautet.
Sagen Sie WordPress, was mit "% tax_name%" wie folgt zu tun ist:
quelle