我用下面的基本代码创建了一个自定义分类法。不久前,我创建了一个名为“视频”的术语来测试它。我今天创建了一些其他术语,然后注意到我无法删除或编辑第一个创建的术语“视频”。它是灰色的,只提供视图链接,这是一个断开的链接。奇怪的是,使用正确的permalink结构,“视频”术语的页面确实按预期显示。
我可以创建和编辑其他术语,没有任何错误。在WP管理页面的其他地方也没有错误。
更新时间:
排除故障后,我认为问题是因为我最初创建了名为Purpose
, 但后来改成purpose
. 使命感$object->taxonomy
退货Purpose
, 而管理面板中列出的所有其他purpose
.
如何更改此术语的分类法Purpose
到purpose
?
以下是创建分类法的函数:
function post_purpose_taxonomy()
{
$args = array (
\'labels\' => array(\'name\' => \'Purpose Tags\', \'singular_name\' => \'Purpose Tag\'),
\'hierarchical\' => false,
\'public\' => true,
);
register_taxonomy(\'purpose\', [ \'post\', \'dvposts\' ], $args);
}
add_action(\'init\', \'post_purpose_taxonomy\');
您可以看到,我将分类法注册到了post和自定义post类型“dvposts”。
以下是快照:
SO网友:38365
排除故障后,我认为问题是因为我最初创建了名为
Purpose
, 但后来改成
purpose
在另一个时间。使命感
$object->taxonomy
退货
Purpose
在受影响的期限内,而管理面板中列出的所有其他人返回
purpose
.
我强烈怀疑,最初以大写字母开头的分类法产生了特权问题,可能与一些小写方法有关,因为允许一些特权。一旦分类名称完全匹配,所有问题都得到解决。
在我的故障排除确定术语的分类键不正确后,问题变成了;如何更改现有术语的分类键;?答案是你必须接触到强大而危险的global $wpdb
. 此变量允许您直接访问和写入WordPress数据库。我在函数中添加了以下内容。php文件,然后刷新页面两到三次,问题就解决了。
function the_dramatist_change_terms_taxonomy( $term_id, $future_taxonomy ){
global $wpdb;
$update = $wpdb->update(
$wpdb->prefix . \'term_taxonomy\',
[ \'taxonomy\' => $future_taxonomy ],
[ \'term_taxonomy_id\' => $term_id ],
[ \'%s\' ],
[ \'%d\' ]
);
return $update;
}
the_dramatist_change_terms_taxonomy(26,\'purpose\');
现在已经进行了更改,我已经从函数中删除了该函数。php文件和
$object->taxonomy
退货
purpose
.