WP_INSERT_TERM正在添加没有名称的术语

时间:2013-06-14 作者:Eric Strom

我试图在Wordpress中插入自定义分类法和自定义帖子类型的术语。我遇到的问题是,它成功地在正确的层次结构级别插入了一个术语,但该术语没有名称。插入术语的行为:

$lasttermarray = wp_insert_term($categoryname, "department", array( "parent" => $parentcategory ) );
我已检查以确保$categoryname和$parentcategory都设置为正确的值。正如我所说,这个术语正在插入,只是有一个空白名称。空白项的slug被设置为新项的ID。

函数没有读取name变量并导致它这样做,有什么原因吗?谢谢你的帮助。

1 个回复
SO网友:dotancohen

正如OP评论中所述,在某些情况下,术语名称中可能不支持某些非ASCII字符。到replace all suspect characters with an underscore, 使用以下代码:

$categoryname = preg_replace(\'/[^a-z0-9]/i\', \'_\', strtolower($categoryname));
wp_insert_term($categoryname, "department");
replace all suspect characters with a dash, 使用以下代码:

$categoryname = preg_replace(\'/[^a-z0-9]/i\', \'-\', strtolower($categoryname));
wp_insert_term($categoryname, "department");
simply remove all suspect characters, 使用以下代码:

$categoryname = preg_replace(\'/[^a-z0-9]/i\', \'\', strtolower($categoryname));
wp_insert_term($categoryname, "department");

结束

相关推荐

尝试使用GET_TERMS过滤帖子

使用get\\u术语,我创建了三个术语链接列表。如果我单击一个术语,当前会发生什么,就是要查看该术语的存档,而我现在试图实现的是,当我单击第二个术语时,我想查看两个术语的存档,而不仅仅是最新术语的存档。基本上是创建一些级别的过滤帖子。我的第一个猜测是,我必须设置一些变量来影响查询,对此有什么建议吗?还是有更好的方法来实现这一点?<h2>Filter By Deployment:</h2> <?php $deployments = get_terms( \'de