WordPress内置的提取词条ID数组的方法?

时间:2011-06-09 作者:Tom Auger

我正在查询一篇文章的自定义分类法,希望得到该文章和分类法的所有术语的列表。get_the_terms($post_id, $taxonomy) 工作正常,但给出了这个讨厌的术语对象数组,在运行以下代码之前需要额外的一层解析:

if (in_array($list_of_term_ids, $my_term_id)){ do good stuff... }

我想看看是否有人遇到过一个本机WP函数或方法,它可以在滚动我自己的实用程序函数之前将术语ID提取到一个平面列表中,这样我就可以使用内置的最佳实践。

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

好吧,我看到了它,被第一个论点推翻了,但它确实做了需要做的事情。来自wp includes/taxonomy。php:

function wp_get_object_terms($object_ids, $taxonomies, $args = array())

如我所愿使用它,给我一个匹配ID的简单列表,将“fields”=>“IDs”推到$args中,如下所示:

wp_get_object_terms($post_id, TAXONOMY_NAME, array(\'fields\'=>\'ids\'));

SO网友:tollmanz

我知道你早就解决了这个问题,但想提供另一个解决方案。当我回答另一个问题时,这个问题突然“相关”。

您可以使用WordPress功能wp_list_pluck 返回一个数组,其中的值是发送给函数的数组或对象的字段之一。换言之,向函数发送对象并指定要返回的字段,您将得到一个仅包含该字段的数组。

例如,您可以执行以下操作:

$ids = wp_list_pluck(get_terms(\'category\', \'hide_empty=0\'), \'term_id\'));

$ids 将是要捕获的术语ID的数组。

结束

相关推荐

正确使用wp_get_Object_Terms

Summary:如何获取返回的对象的名称和永久链接wp_get_object_terms()?Detailled:我创建了一个名为“ge\\u zielgruppe”的自定义帖子类型和一个名为“ge\\u zielgruppe\\u taxonomy”的分类法。后者可以附加到帖子和“ge\\u zielgruppe”帖子类型。在“ge\\u zielgruppe”的单个页面上,我想展示最后几篇贴有相同“ge\\u zielgruppe\\u分类法”标签的帖子。我是用<?php $theZie