J'ai trouvé que cet endroit était une bonne source d'information dans le passé grâce à beaucoup de recherches sur Google pour les problèmes que j'ai rencontrés. Ma question concerne les règles de réécriture prolixes utilisées par WordPress.
J'ai configuré un type de message personnalisé appelé projet et j'ai enregistré une taxonomie personnalisée appelée projets . Tout fonctionne très bien, sauf pour les options de réécriture de slug car elles finissent par être en conflit - très probablement en raison des règles de réécriture.
Fondamentalement, c'est la structure que je cherche à réaliser:
example.com/work/%taxonomy%/%post_name%/
(pour les postes)example.com/work/%taxonomy%/
(liste des articles appartenant à un terme de taxonomie particulier)example.com/work/
(va à page-work.php qui inclut taxonomy.php pour lister toutes les publications associées à cette taxonomie)
Voici le code que j'ai jusqu'à présent, mais j'ai besoin d'aide pour écrire les règles WP_Rewrite car c'est le bit sur lequel je suis un peu perplexe.
$labels = array(
'name' => _x('Projects', 'post type general name'),
'singular_name' => _x('Project', 'post type singular name'),
'add_new' => _x('Add New', 'project item'),
'add_new_item' => __('Add New Project'),
'edit_item' => __('Edit Project'),
'new_item' => __('New Project'),
'view_item' => __('View Project'),
'search_items' => __('Search Projects'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'hierarchical' => true,
'rewrite' => array('slug'=>'work', 'with_front'=>false),
'show_ui' => true,
'_builtin' => false, // It's a custom post type, not built in!
'capability_type' => 'post',
'query_var' => "project", // This goes to the WP_Query schema
'menu_position' => null,
'supports' => array('title','editor','thumbnail', 'comments', 'author', 'excerpt')
);
register_post_type('project' , $args);
// Showcase Taxonomy
register_taxonomy('projects', array('project'), array(
'public' => true,
'hierarchical' => true,
'label' => 'Project Categories',
'singular_label' => 'Project Category',
'query_var' => true,
'rewrite' => array('slug'=>'work', 'with_front'=>false, 'hierarchical'=>true)
)
);
Merci beaucoup pour votre aide! :-)