web-dev-qa-db-fra.com

Les URL de taxonomie personnalisées redirigent vers une page portant le même nom

J'ai créé un cpt comme ceci:

 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', 
    ) 
);

et une taxonomie personnalisée pour le cpt ci-dessus:

 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
        ),
    )
);

J'ai créé deux mission_categories nommés: "Ingénierie" et "Économie". Je m'attends à trouver des pages d'archivage à ces points de terminaison: /mission/category/engineering et /mission/category/economy

J'ai également créé deux pages avec le même nom que les catégories ci-dessus. Je compte trouver ces pages à: /engineering et /economy

La chose étrange est que lorsque j'ai créé des pages avec le même nom que mon mission_categories, je suis redirigé vers la page lorsque je tente de visualiser une archive. Cela signifie que si je saisis manuellement ce noeud final /mission/category/economy, je finis par /economy. Il est à noter que le "lien de visualisation" de la page mission_category de l'administrateur est correct, mais je suis toujours redirigé vers la page lorsque je clique dessus.

Cela ne se produit que lorsque j'ai une page portant le même nom qu'une catégorie ... Si, par exemple, je supprime la page d'économie, le /mission/category/economy se termine à la bonne adresse.

1
Anders Östman

J'ai trouvé une solution à cela par une recherche approfondie sur Google. La clé est de déclarer la taxanomiebeforethe ctp. Je ne sais pas pourquoi, mais ça marche =)

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

1
Anders Östman