J'ai configuré une taxonomie personnalisée sur un type d'article personnalisé en utilisant les éléments suivants: (Par exemple, le type d'article personnalisé s'appelle newtype
et la nouvelle taxonomie s'appelle simplement 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' );
Cela fonctionne bien, mais j'avais une question concernant la redirection d'URL.
Actuellement, si vous allez à http://www.domain.com/newtype/newtax-term/post-name/
, il sera redirigé vers http://www.domain.com/newtype/post-name/
. Quel est le meilleur moyen de permettre à http://www.domain.com/newtype/newtax-term/post-name/
de se charger sans rediriger?
Merci d'avoir lu.
Quel est le meilleur moyen de permettre à
http://www.domain.com/newtype/newtax-term/post-name/
de se charger sans rediriger?
Vous devez ajouter une règle de réécriture personnalisée pour que cela fonctionne. Sinon, WordPress ne comprend pas la partie newtax-term
de votre structure de lien permanent et vous redirige vers l’URL qu’elle comprend, qui est %post_type%/%post_slug%
.
Si vous voulez comprendre le fonctionnement de l'API WordPress Rewrite, je vous recommanderais de lire l'article de l'API Rewrite: The Basics . Ne ménagez aucun effort pour l'apprendre et vous ne rencontrerez aucun problème.