J'ai eu ce problème littéralement il y a 3 jours, puis je suis tombé sur une série sur wp.tutsplus.com . J'ai échangé mon propre code pour mieux répondre à votre question, mais c'est ce avec quoi j'ai fini après avoir suivi la série. Aussi, gardez à l'esprit que cela n'a pas été testé.
// sets custom post type
function my_custom_post_type() {
register_post_type('Projects', array(
'label' => 'Projects','description' => '',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => false,
'publicly_queryable' => true,
'rewrite' => false,
'query_var' => true,
'has_archive' => true,
'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'),
'taxonomies' => array('category','post_tag'),
// there are a lot more available arguments, but the above is plenty for now
));
}
add_action('init', 'my_custom_post_type');
// rewrites custom post type name
global $wp_rewrite;
$projects_structure = '/projects/%year%/%monthnum%/%day%/%projects%/';
$wp_rewrite->add_rewrite_tag("%projects%", '([^/]+)', "project=");
$wp_rewrite->add_permastruct('projects', $projects_structure, false);
Théoriquement, vous pouvez échanger ce que vous voulez dans l'URL stockée dans la $projects_structure
variable, ce qu'il y a exactement ce que j'ai fini par utiliser.
Bonne chance et, comme toujours, assurez-vous de revenir et de nous dire comment cela a fonctionné! :)