wp_get_object_terms返回空

时间:2018-05-31 12:29:05

标签: php wordpress

我有一个名为mh_menu的分类法。 我想得到对象的术语,为此我使用的是wp_get_object_terms。 当我做的时候

wp_get_object_terms(639, 'mh_menu', array('fields' => 'all', 
'orderby' => 'none'));

我得到术语数组

的结果
WP_Term Object                                                                                                        
(                                                                                               
[term_id] => 118
[name] => new cat
[slug] => new-cat
[term_group] => 0
[term_taxonomy_id] => 118
[taxonomy] => mh_menu
[description] => 
[parent] => 0
[count] => 2
[filter] => raw
)

但是当我这样做时

wp_get_object_terms(639, 'mh_menu', array('fields' => 'tt_ids', 
'orderby' => 'none'));

我得到空数组

Array
(
)

最有意思的是,我有两个wordpress网站(都是最新的),在第一个网站中它正在工作,但在第二个网站中它返回空数组。

2 个答案:

答案 0 :(得分:0)

试试我的代码,让我知道您在打印数组中的计数。

wp_get_object_terms(639, 'mh_menu', array('fields' => 'tt_ids', 'orderby' => 'none','hide_empty' => false));

如果您找到0,请将帖子添加到相应的类别并将您的代码还原,因为这是简单的默认wordpress行为。

如果您的类别未映射到后期wordpress,则不允许您显示该类别。如果您仍希望显示该类别,则需要在论证中将hide_empty作为false传递。

答案 1 :(得分:0)

我找到了解决方案,问题出在层次结构上。我删除了整个术语,然后重新创建,因此有关层次结构的信息是正确的,并且一切正常!