WordPress自定义分类

时间:2010-05-26 16:59:07

标签: wordpress

我有以下代码为我的投资组合构建自定义分类:

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)

2 个答案:

答案 0 :(得分:0)

我确信你可以使用portfolio/type假冒这样的slu .. - 关键是,一旦你更新了你的代码,你就需要刷新重写规则

只需在管理员中重新保存固定链接设置即可。

答案 1 :(得分:0)

确保所有插件都已停用(至少是通过重写进行调整的插件),并删除rewrite_rules表中的wp_options选项。

现在删除主题中包含自定义税和帖子类型的所有挂钩,然后在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]

这些应该在数组的最开头,标签,类别等之前。

让我知道你是怎么过的!

(当我在我安装的WP 3.0-beta-2中运行代码时,它可以工作,所以我假设现在正在发生一些时髦的事情。)