这是因为条款。slug和术语。名称都是MySQL表结构的唯一索引。
Unique Packed Column Cardinality Collation
PRIMARY BTREE Yes No term_id 13 A
slug BTREE Yes No slug 13 A
name BTREE No No name 13 A
WordPress使用规范重定向,主要依赖于可行的
single posts.post_name
或
terms.slug
查询结果。具有相同的多个条目
post_name
或者slug完全消除了规范重定向的可靠性,因此在这些表中定义了唯一索引。
术语名称之所以唯一,是因为当用户创建新类别或标记时,它通常是slug的来源。此外,菜单术语slug是从术语名称生成的。如果两个名称匹配,那么slug将不是唯一的。
虽然我不推荐,但您可以手动进入term_taxonomy
和合伙人term_id
如果需要伪“副本”,请使用不同的术语。我无法在你的网站上解释这一点的含义,但从技术上讲,这将颠覆这种结构化的口述。
一位智者曾经告诉我,如果不先问一下为什么要建一座桥,就不要烧毁它。这是一个很好的应用程序。如果不理解为什么表索引首先是唯一的,就不要开始创建伪重复。
规范重定向自2.3版起就已就位。退房Mark Jaquith\'s post here for a more in-depth explanation.
您可以使用以下选项禁用规范重定向:
remove_filter(\'template_redirect\', \'redirect_canonical\');
希望这有助于澄清问题。