it-swarm.com.de

Benutzerdefinierte Taxonomie-URLs leiten zur Seite mit demselben Namen weiter

Ich habe eine cpt wie folgt erstellt:

 register_post_type( 'mission', array(
    'labels'              => array( ... ),
    'supports'            => array( 'title', 'editor', 'comments', 'revisions', 'trackbacks', 'author', 'post-formats' ),
    'taxonomies'          => array( 'mission_category', 'mission_client', 'mission_location', 'mission_status'), 
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 5,
    'menu_icon'           => 'dashicons-star-filled',
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'capability_type'     => 'post', 
    ) 
);

und eine benutzerdefinierte Taxonomie für das obige Kommando:

 register_taxonomy( 'mission_category', array( 'mission' ), array(
    'public'            => true,
    'show_ui'           => true,
    'show_in_menu'      => true,
    'show_in_nav_menus' => true,
    'show_tagcloud'     => true,
    'show_admin_column' => true,
    'hierarchical'      => true,
    'capabilities' => array(
        'manage_terms' => 'manage_categories',
        'edit_terms'   => 'manage_categories',
        'delete_terms' => 'manage_categories',
        'assign_terms' => 'edit_posts',
        ),
    'rewrite' => array(
        'slug'         => 'mission/category',
        'with_front'   => false,
        'hierarchical' => true,
        'ep_mask'      => EP_NONE
        ),
    )
);

Ich habe zwei mission_categories mit dem Namen "Engineering" und "Economy" erstellt. Ich erwarte, an diesen Endpunkten Archivseiten zu finden: /mission/category/engineering und /mission/category/economy

Ich habe auch zwei Seiten mit demselben Namen wie die obigen Kategorien erstellt. Ich erwarte, diese Seiten zu finden unter: /engineering und /economy

Das Seltsame ist, dass ich beim Versuch, ein Archiv anzuzeigen, zu der Seite umgeleitet werde, wenn ich Seiten mit demselben Namen wie mein mission_categories erstellt habe. Das heißt, wenn ich diesen Endpunkt /mission/category/economy manuell eingebe, lande ich bei /economy. Erwähnenswert ist, dass der "View-Link" von der Mission_Category-Seite im Admin korrekt ist, aber ich werde trotzdem zu der Seite weitergeleitet, wenn ich darauf klicke.

Dies passiert nur, wenn ich eine Seite mit dem gleichen Namen wie eine Kategorie habe ... Wenn ich zum Beispiel die Economy-Seite entferne, wird der /mission/category/economy an der richtigen URL angezeigt.

1
Anders Östman

Eine Lösung dafür fand ich durch ausgiebiges Googeln. Der Schlüssel ist, die Taxanomievordem ctp zu deklarieren. Ich habe keine Ahnung warum, aber es funktioniert =)

quelle: https://cnpagency.com/blog/the-right-way-to-do-wordpress-custom-taxonomy-rewrites/

1
Anders Östman