Descobri que este lugar era uma boa fonte de informações no passado, através de muitos estudos no Google sobre os problemas que encontrei. Minha pergunta diz respeito às regras detalhadas de reescrita que o WordPress usa.
Eu configurei um tipo de postagem personalizado chamado projeto e registrei uma taxonomia personalizada chamada projetos . Tudo funciona muito bem, exceto pelas opções de reescrita de lesmas, pois elas acabam em conflito - provavelmente devido às regras de reescrita.
Basicamente, esta é a estrutura que pretendo alcançar:
example.com/work/%taxonomy%/%post_name%/
(para postagens)example.com/work/%taxonomy%/
(listar postagens pertencentes a um termo de taxonomia específico)example.com/work/
(acesse page-work.php, que inclui taxonomy.php, para listar todas as postagens associadas a essa taxonomia)
Aqui está o código que tenho até agora, mas preciso de ajuda para escrever as regras WP_Rewrite, já que este é o bit em que estou um pouco perplexo.
$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)
)
);
Muito obrigado pela sua ajuda! :-)