过去,由于对我遇到的问题进行了大量的Google搜索,因此我发现该位置过去是很好的信息来源。我的问题与WordPress使用的详细重写规则有关。
我已经建立了一个自定义后类型,称为项目,而且我已经注册了一个名为自定义分类项目。除了rewrite slug选项,所有其他方法都很有效,因为它们最终会发生冲突-很有可能是由于rewrite规则所致。
基本上,这就是我要实现的结构:
example.com/work/%taxonomy%/%post_name%/
(用于帖子)example.com/work/%taxonomy%/
(列出属于特定分类术语的帖子)example.com/work/
(转到包含taxonomy.php的page-work.php,以列出与该分类法相关的所有帖子)
这是我到目前为止的代码,但是我需要编写WP_Rewrite规则的帮助,因为这有点让我感到困惑。
$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)
)
);
非常感谢您的帮助!:-)
1
我发现了一些入门方面的知识:codex.wordpress.org/Class_Reference/WP_Rewrite和codex.wordpress.org/Rewrite_API/add_rewrite_rule和codex.wordpress.org/Rewrite_API/add_rewrite_tag
—
chrisguitarguy 2011年
@ChristopherDavis谢谢,我将进一步研究这些,看看我如何生活。
—
matt_d_rat 2011年
我认为可以通过查看混合自定义帖子类型和分类重写结构来回答此问题?如果该问题对您没有帮助,请编辑此问题以表明它有何不同。
—
Jan Fabry'7