获取存在于所有分类中的所有术语名称的简单数组

时间:2013-03-03 作者:ItsGeorge

我可能完全错了,但我正在尝试使用get terms来获取每个分类法中存在的所有术语。

我认为这可能是一个php问题。

get\\u terms允许您指定从以下数组中获取术语的分类法。。。

get_terms( array(post_tag, category, nav_menu, link_category, post_format), $args )
这是可行的,但我正在编写一个插件,如果人们有自定义分类法,手动输入数组将不起作用。所以我认为解决方案是使用get分类法来生成该数组。问题是,它作为一个关联数组返回,我需要一个简单的数组。所以我做了这个。。。

$myarray = \'array(\'. implode(\', \',get_taxonomies(\'\',\'names\')) .\')\';
如果我回显$myarray,则返回:array(类别、post\\u标记、nav\\u菜单、link\\u类别、post\\u格式)

完美的这正是我手动输入的内容。现在,我应该能够将$myarray粘贴在get\\u get terms中,手动输入它,它应该可以获取所有内容。没有。它不喜欢它。

这是完整的代码片段,还有一张图片,上面显示了get的回声。您可以看到$myarray与工作get\\u术语中的内容完全相同,但它打破了第二个get\\u术语。

$myarray = \'array(\'. implode(\', \',get_taxonomies(\'\',\'names\')) .\')\';

echo $myarray . \'<br/>\';
echo \'array(category, post_tag, nav_menu, link_category, post_format) <br/><br/>\';

print_r(get_terms( array(post_tag, category, nav_menu, link_category, post_format), $args )); echo \'<br /><br />\';
print_r(get_terms( $myarray , $args )); echo \'<br /><br />\';
结果:http://i.imgur.com/tMJUmaz.jpg

1 个回复
最合适的回答,由SO网友:ItsGeorge 整理而成

好的,所以我不知道我做错了什么,因为我以前试过这个,但没能让它工作,但我最终使用了array_values() 之后有几个人在另一个帖子中推荐了它。

最后我写了这样一篇文章:

get_terms( array_values((get_taxonomies(\'\',\'names\'))) , $args );

结束