Il est possible de customiser les permaliens des custom post type grâce (entre autres) au paramètre "rewrite" de la fonction register_post_type.
Voici ci dessous un exemple de déclaration de custom post type "temoignage"
add_action('init', 'CT_temoignage'); function CT_temoignage() { register_post_type('temoignage', array( 'label' => __('Témoignages'), 'singular_label' => __('Témoignage'), 'public' => true, 'has_archive' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'taxonomies'=> array ('category', 'post_tag'), 'supports' => array('title', 'author', 'editor', 'thumbnail','excerpt','revisions','page-attributes'), 'menu_position'=>5, 'rewrite'=>true )); }
Le paramètre "rewrite" admet comme valeur un boolean ou un tableau, par défaut sa valeur est true, et l'on peut dans l'exemple ci dessus accéder à un article de custom post type "temoignage" (et de slug mon-article) par l'URL :
http://mon-site.fr/temoignage/mon-article
Remplaçons le boolean par un tableau
'rewrite' => array('slug' => 'memo-temoignages','with_front' => true)
L'article sera alors accessible par l'URL :
http://mon-site.fr/memo-temoignages/mon-article
Le paramètres with_front, quant à lui défini si l'on prend en compte dans l'URL la structure des permaliens par défaut que vous avez défini dans les paramètres des permaliens du site dans "Réglages > Permaliens".
Si votre structure de permaliens par défaut est /blog alors :
- 'with_front' => true → URL : http://mon-site.fr/blog/memo-temoignages/mon-article
- 'with_front' => false → URL : http://mon-site.fr/memo-temoignages/mon-article
Voici un article très complet an anglais sur le sujet.
Une autre solution consiste à appeler flush_rewrite_rules()
Laisser un commentaire
Participez-vous à la discussion?N'hésitez pas à contribuer!