WordPress自定义分类法

WordPress自定义分类法,wordpress,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' => ar

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

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),并创建了一些项目,并针对它们设置了自定义分类法。因此,我得到以下设置: 但我想要的是分类法链接如下所示:然后这将显示与该类型相关的投资组合项目列表。目前,它们是根目录,创建404,但我也尝试添加'portfolio/type'作为分类法slug,但它也创建了一个404,但我很确定这是一种错误的方法。有什么帮助吗

谢谢


编辑:网站在这里:所有的工作都在一个名为Portfolio的类别中,每个图片下都有标题和自定义分类法(如果你点击它们,你会得到404)

我相信你可以用
Portfolio/type
来伪造这样的slug-关键是,一旦你更新了代码,你就需要刷新重写规则


要做到这一点,只需在管理员中重新保存永久链接设置。

确保所有插件都已禁用(至少是那些通过重写进行调整的插件),并删除
wp\u options
表中的
rewrite\u rules

现在移除主题中任何干扰自定义税和post类型的钩子,并在
init
上运行它

register_taxonomy(
    'type',
    'post',
    array(
        'hierarchical' => true,
        'label' => 'Type',
        'rewrite' => array('slug' => 'portfolio/type')
    )
);
在永久链接设置中,选择一个默认选项,确保设置了类别和标记库,然后更新

像以前一样转储
$wp\u 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中运行代码时,它工作正常,所以我认为目前正在发生一些奇怪的事情)。

尝试过,但我仍然得到404该站点在这里,请尝试单击每个公文包项目标题下的小链接。你能在主题文件中的某个地方运行此代码,并让我知道你得到了什么吗?只需发布相关内容
Ooh,刚刚注意到,试着从参数数组中取出
query\u var
键(同样也是刷新规则)。[portfolio/type/([^/])/feed/(feed | rdf | rss | rss | rs2 | atom)/?$]=>index.php?标记=$matches[1]&feed=$matches[2][portfolio/type/([^/]rss/(feed ^/$rdf | rss | s2 | atom)/=>index.php$feed=[2][portfolio/type/([^/]+)/page/?([0-9]{1,})/?$]=>index.php?tag=$matches[1]&paged=$matches[2][portfolio/type/([^/]+)/?$]=>index.php?tag=$matches[1]好的,这肯定是一个问题,因为这些重写不应该映射到
标记
查询变量。我将发布另一个带有解决方案的答案。我没有从数据库中转储任何内容,但交换了注册码,所有旧的分类法都消失了,这显然意味着WP认为这是不同的,不确定为什么?但URL现在工作了。发生了什么变化您是否介意压缩functions.php文件(或者至少压缩更改前的相关代码)下载?这样我们可以更好地了解发生了什么,但没有你在这里发布大量代码!似乎WP感到困惑,因为我将其命名为标记,并认为它是内置标记。非常奇怪。所有这些似乎都与分页无关。有什么想法吗?谢谢你现在正在使用WP的内置“类别”分类法吗?其他wise“category”在URL中从何而来?不,我已经为自定义分类法将slug设置为“portfolio/category”。但我注意到分页对任何东西都不起作用。也不起作用。不确定为什么,我刷新了永久链接,但仍然断开了?