检索术语ID时未定义的属性:stdClass::$id

时间:2014-11-28 作者:akmur

我有以下几点:

foreach( $this_post_terms as $term ) :
  $thiscat = get_term_by( \'slug\', $term->slug, \'categories_whatever\' );
  echo $thiscat->ID;
endforeach;
最后一行抛出一个错误,未定义的属性:stdClass::$ID。

我觉得奇怪的是

echo $thiscat->name;
工作正常,不会引发任何错误。

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

返回的字段get_term_by() 是:

term\\u id名称slug组term\\u id分类说明$thiscat->ID, 您应该使用$thiscat->term_id

参考号:http://codex.wordpress.org/Function_Reference/get_term_by

SO网友:Milo

不奇怪,没有ID 在术语对象中term_id. 您还可以var_dump($thiscat) 在循环中查看其所有属性。

结束

相关推荐

Get a list of categories ids

我正在使用基于自定义帖子类型的过滤器制作一个公文包。该过滤器必须只显示公文包中显示的帖子的类别,因为用户可以在短代码中通过id指定它们-[公文包id=“1,2,3”],而我无法获得该类别id的列表。下面是一个简单的例子,说明我正在尝试做什么:来自快捷码的自定义帖子ID列表:$ids 相同ID的数组:$id_array = explode(\',\', $ids) 必须返回类别ID列表的感兴趣的变量:$cat_ids = ??? 接下来,我们只获取具有所需id的类别:$ca