是否可以将一个插件用于多个分类法?

时间:2017-05-19 作者:Recofa

我有一种情况,我有很多标记,我想添加自定义分类法来对它们进行排序。但问题是,当我注册新的分类法时,我不能使用标记slug。

示例(标记分类法)

实例com/标签/艺术家姓名

更改为(艺术家分类法)

实例com/标签/艺术家姓名

如您所见,我想在保留永久链接的同时更改分类法。我想根据几件事列出标签。但标记只是标记,没有按类型进行排序。我从一开始就应该使用自定义分类法,但现在为时已晚。

如果我将标记更改为新的分类法,它将如下所示

实例com/艺术家/艺术家姓名

我会有很多404页。如何重定向1k页?尤其是因为它们只是标签的一部分。我真的需要一个接一个地添加重定向。

2 个回复
最合适的回答,由SO网友:Johansson 整理而成

你不应该也很可能无法实现你所追求的目标。这个tag 分类术语由WordPress本身以及其他几个术语保留。查看this 抄本第页。

如果将同一个slug用于不同的分类法,则无法达到目的。例如,类别和标记本身就是分类法。

想象一下有两个类别,/cat//dog/, 都指向/animals/. WordPress本身不允许您这样做,但假设您通过入侵数据库来做到这一点。访问时应显示哪些内容/animals/ 鼻涕虫猫还是狗?

更糟糕的情况是混合不同的分类法类型。然后WordPress甚至无法决定使用哪个模板文件!

不幸的是,WordPress并没有经过优化,仅仅通过编写一条简单的规则就可以实现这一点。我自己有时不得不重做很多工作,只是因为一开始我没有正确的方法。您的另一个选择是编写SQL查询或插件来为您更改数据并以新格式保存。

即使您编写了一些重写规则来实现这一点,您最终也会得到一个混乱的网站、随机的404页和不正确的内容输出。

SO网友:WebElaine

有一些插件可以转换分类法-搜索类似“分类法转换器”的东西,您会找到一些。

在您转换它们之后,一个简单的。htaccess重定向将处理URL:

RewriteEngine On
RewriteRule ^tag/(.*)$ http://example.com/artist/$1 [R=301,L]
这将重定向/标记/文件夹下的任何内容,保存子文件夹(即艺术家名称)并将其重定向到示例。com/艺术家/艺术家名称-适用于所有艺术家名称。

只需更改示例。com并将这些行放置在默认WP上方。htaccess内容。

结束

相关推荐

Get tags for current user

如何获取用户标签列表,我使用以下内容获取所有标签的列表:<?php $tags = get_tags(); ?> <?php if (isset($tags)): ?> <ul> <?php foreach ($tags as $tag): ?> <li><?php echo $tag->name; ?></li>&#