我有以下代码来为我的项目组合构建自定义分类法:
add_action( 'init', 'create_pc_db_taxonomies', 0 );
function create_pc_db_taxonomies() {
register_taxonomy( 'type', 'post', array( 'hierarchical' => true, 'label' => 'Type', 'query_var' => true, 'rewrite' => array( 'slug' => 'type' ) ) );
}我已经在我的站点上创建了一个项目组合类别(我删除了/ category / base),并创建了一些项目并根据它们设置了自定义分类法。所以我得到了以下设置:http://domain.com/portfolio/item1/,但我想让分类链接看起来像这样:http://domain.com/portfolio/type/web,然后这将显示与该类型相关的项目组合列表。目前它们是根目录,像http://domain.com/type/web一样创建404,但我也尝试过添加'portfolio/type‘作为分类插件,但它也只是创建了一个404,但我非常确定这是错误的方式。有什么帮助吗?
谢谢
编辑:网站在这里:http://driz.co.uk/所有的作品都在一个名为Portfolio的类别中,每张图片下面是标题和自定义分类(如果你点击它们,你会得到404)
发布于 2010-05-27 04:53:26
确保禁用所有插件(至少是那些可以重写的插件),并删除wp_options表中的选项rewrite_rules。
现在删除你的主题中的任何钩子,干预自定义税收和post类型,并在init上运行此程序;
register_taxonomy(
'type',
'post',
array(
'hierarchical' => true,
'label' => 'Type',
'rewrite' => array('slug' => 'portfolio/type')
)
);在您的固定链接设置中,选择一个默认选项,并确保设置了类别和标签库,然后更新。
像以前一样转储$wp_rewrite,您应该会看到几行代码,如下所示;
[portfolio/type/([^/]+)/page/?([0-9]{1,})/?$] => index.php?type=$matches[1]&paged=$matches[2]
[portfolio/type/([^/]+)/?$] => index.php?type=$matches[1]它们应该放在数组的最开始处,在标签、类别等之前。
让我知道你的进展如何!
(当我运行我安装的WP3.0-beta-2中的代码时,它可以工作,所以我假设现在发生了一些奇怪的事情)。
发布于 2010-05-27 01:47:00
我相信你可以使用portfolio/type来伪造一个这样的插件--关键是,一旦你更新了你的代码,你就需要刷新重写规则。
只需在管理员中重新保存您的固定链接设置即可。
https://stackoverflow.com/questions/2915131
复制相似问题