Ich habe eine benutzerdefinierte Taxonomie für einen benutzerdefinierten Beitragstyp wie folgt eingerichtet: (Der benutzerdefinierte Beitragstyp heißt beispielsweise newtype
und die neue Taxonomie heißt nur newtax
.
// Create Custom Post Type for newpost
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'x_newtype',
array(
'labels' => array(
'name' => __( 'New Type' ),
'singular_name' => __( 'New Type' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'newtype'),
'taxonomies' => array('category', 'post_tag'),
'supports' => array('title','editor','excerpt','thumbnail')
)
);
}
// Add custom field for custom post type
function new_taxonomy() {
register_taxonomy(
'newtax',
'x_newtype',
array(
'hierarchical' => true,
'label' => 'New Tax',
'query_var' => true,
'rewrite' => array('slug' => 'newtax')
)
);
}
add_action( 'init', 'new_taxonomy' );
Das funktioniert gut, aber ich hatte eine Frage bezüglich der URL-Umleitung.
Wenn Sie derzeit zu http://www.domain.com/newtype/newtax-term/post-name/
wechseln, wird die Weiterleitung zu http://www.domain.com/newtype/post-name/
ausgeführt. Wie lässt sich http://www.domain.com/newtype/newtax-term/post-name/
am besten laden, ohne umzuleiten?
Danke fürs Lesen.
Wie lässt sich
http://www.domain.com/newtype/newtax-term/post-name/
am besten laden, ohne umzuleiten?
Sie müssen eine benutzerdefinierte Umschreiberegel hinzufügen, damit dies funktioniert. Andernfalls versteht WordPress den newtax-term
-Teil Ihrer Permalink-Struktur nicht und leitet Sie zu der URL weiter, die es versteht, nämlich %post_type%/%post_slug%
.
Wenn Sie verstehen möchten, wie die WordPress Rewrite-API funktioniert, empfehlen wir Ihnen, den Artikel Die Rewrite-API: Die Grundlagen zu lesen. Ersparen Sie sich keine Mühe, um es zu lernen, und Sie werden keine Probleme damit haben.