Wordpress自定义分类 - 转换和过滤?

时间:2010-11-12 18:10:12

标签: wordpress taxonomy

我遇到了WP自定义分类法的两个主要限制。

我有一个包含数百个帖子的现有博客。我想追溯介绍自定义帖子类型和分类法。

我有一个非常精细(并且难以使用)的分类方案,如果我可以将给定类别下的帖子大规模转换为自定义帖子类型或自定义分类,那么这应该很容易实现。 (这是因为不同的内容类型获得了自己的类别[文章,视频],不同的分类类型[人物,地点])

我已经使用插件自定义帖子类型ui创建了我需要的自定义帖子类型和分类。

通过使用convert post types插件,第一步,更改某些帖子的帖子类型很容易。 (它允许您更改任何类别下的帖子类型,完全符合我的需求。)

第二步,将某些类别转换为自定义分类法(例如,一组关于政治家的类别到“政治家”自定义分类学家族)被证明是不可能的。似乎没有自定义分类转换器插件的类别(自定义帖子类型转换的方式),尽管任何人都希望将WP3.0的CMSing创新应用于已经存在的博客

所以我试过去手动路线。如果我手动更改wp_term_taxonomy表中不同术语的“分类法”字段 - 例如,从类别到政治家,自定义分类法 - 该(前)类别下的所有帖子都反映了更新。如果您尝试编辑帖子,则自定义分类法元框会显示正确的术语。 (我没有尝试编写自定义循环来查看帖子是否会在网站上显示,所以我不知道这是否有效,但我认为它确实如此。)到目前为止,这么好。或者它可能会出现:

第一个问题是指如果您转到自定义分类页面(相当于帖子下的“类别”或“帖子标记”页面),则表格中不会显示任何条款在右边。但是,如果你搜索他们,他们确实会出现。

以下是熟练的WP开发人员在我提出这个问题时告诉我的事情:

“我认为手动更新数据库的问题是后缓存不会被更改。(请参阅update_post_caches()。)我还需要确保在更改帖子类型时也这样做。 “

不幸的是,我不确定这意味着什么或者该怎么做。

第二个问题是创建自定义分类并将其与帖子(或任何自定义帖子类型)相关联,不会在视图帖子页面上生成过滤器框,就像它对类别所做的那样。这使得自定义分类法几乎无法使用,至少在我的情况下如此。

那么,是否有人有关于如何将类别转换为自定义分类法的想法(或者至少如果手动转换它们如何让它们在后端显示)以及如何在帖子页面上添加分类过滤器?

谢谢!

4 个答案:

答案 0 :(得分:2)

在搜索了一段时间试图找到插件后,我发现它可以通过批量发布编辑器轻松完成。

我刚刚在Themespotter.com的博客部分写下了执行此操作的步骤:

How to Convert Post Tags to Custom Taxonomies in WordPress

答案 1 :(得分:1)

查看此修改后的类别/标记转换器插件 http://core.trac.wordpress.org/ticket/16460,其中包含自定义分类。它非常适合我和实时保护。

答案 2 :(得分:0)

还有一些关于此问题的开放WordPress支持线程:
http://wordpress.org/support/topic/convert-tags-to-taxonomy-tags

这是一个显而易见的需求,我一直认为我必须忽略一些基本的东西,但显然我并不孤单。

答案 3 :(得分:0)

我的解决方案是将标签传输,迁移,转换为多个自定义分类。

创建自定义分类后,运行SQL查询以将分类列下的wp_term_taxonomy表中的值从“post_tag”更改为自定义分类标题名称。您可以使用模式为每个类别单独标记。例如,此代码将标签名称中带有“min”的所有“标准”标签转移到“长度”自定义分类:

UPDATE wp_term_taxonomy SET taxonomy='length' WHERE term_taxonomy_id IN (SELECT term_id FROM wp_terms WHERE slug LIKE '%min')

您可以根据this更改“通配符”!

确保在运行任何SQL查询之前备份数据库!