子类别可以有多个父项吗?

时间:2014-08-15 作者:gate_engineer

我在看get_categories() 函数,查看如何返回每个“根父级”(没有父级的类别)的所有子级。例如,如果我对多个“根父”的子对象感兴趣,我想知道在不同的“根父”下是否会有多个相同子对象的实例。

因此,我想问:

Can child categories in WordPress have multiple, different parents?

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

No, 一个学期可以有许多孩子,但只有单亲。数据库中的父字段只能保存一个值。

这是一种层次化的一对多关系,而不是多对多关系。

帖子也是如此。一篇文章只能有一个父项,但有许多子项。要解决这个问题,您需要使用分类法。

关于的旁注wp_term_taxonomy, 有人建议,同一术语在该表中可以有多个条目,允许它有多个父项,并在多个父项中共享。

以下是数据库架构:

enter image description here

正如您所看到的,如果同一术语和分类法被多次引用,但使用不同的父项,可能一个术语可以有多个父项?

No, 这个term_idtaxonomy_id 都是unique, 如果不更改其模式,则无法在该表中创建这样的内容。为了证明这一点,我打开了sequel pro。

在我的博客本地副本中,我们有一个术语:

enter image description here

它有一个4的父级,让我们尝试给它另一个5的父级:

INSERT INTO `tjn2_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`)
VALUES
    (13, 13, \'category\', \'\', 5, 0);
运行此查询时,会出现以下错误:

enter image description here

So no, a term cannot have more than one parent. But even if it could, there would be no mechanism in the APIs to find out short of raw SQL statements, so such a term would be useless and unusable in the frontend and backend UIs

SO网友:Benoti

尝试使用tax元类来构造您的类别http://en.bainternet.info/wordpress-taxonomies-extra-fields-the-easy-way/.

您将能够向分类法中添加元字段(类别、标记、自定义税)。

结束

相关推荐

Get posts from taxonomy URL

如何使用URL从自定义分类中获取帖子,以确定显示的是哪个分类术语id?我试图通过使用get_category_by_path 传递URL时返回false,因为自定义分类法不同。对于分类法,是否有一个等效的函数可以做到这一点?我在谷歌上搜索了一下Wordpress抄本,什么也没找到。非常感谢