我有这个问题,因为我更新了我的WordPress,在我的网站上我有一个自定义帖子,其中包含一些自定义类别,类似于:
1)父类:食品| 孩子:薯条,汉堡包,枫糖浆......
2)父类别:年份| 儿童:2016年,2015年,2014年......
3)父类别:国家| 孩子:美国,加拿大,西班牙......
因此,当我写自定义帖子时,我会在这些类别中选择,只选择(勾选方框)我需要的类别.它会显示出类似的东西:
标题:新配方
内容:我的文字
条款:食物:Mapple Syrup/国家:加拿大/年:2014
但是现在,条款根本没有显示,我收到此错误消息: 无法使用WP_Term类型的对象作为数组
我曾经有过以下PHP代码,它允许我检索子类别的父级(并将其用作前缀),并允许我更改顺序.
$term_list = wp_get_post_terms($post->ID, 'project_cat', array("fields" => "all")); $terms_hierarchy = array(); foreach ($term_list as $term_single) { $parent = $term_single->parent; if ($parent != 0) { $terms_hierarchy[$parent][] = get_term($parent)->slug; $terms_hierarchy[$parent]['children'][$term_single->term_id] = $term_single->name; } else { $terms_hierarchy[$parent] = $term_single; } } //PHP indicated this line: foreach ($terms_hierarchy as $key => $term) { echo "$term[0]: "; if (!empty($term['children'])) { $s_children = ''; foreach ($term['children'] as $key => $child) { if ($term[0] == 'client') { $tax_meta = get_term_meta($key); if(!empty($tax_meta['external_url'][0])){ $s_children .= "$child, "; } else { $s_children .= $child . ', '; } } else { $s_children .= $child . ', '; } } echo rtrim($s_children, ', ') . "
"; } }
如果有人可以帮助弄清楚出了什么问题,我将非常感激.
谢谢你的时间
$ terms_hierarchy不是一个数组,它是一个Std对象.所以......
$术语[ '孩子']
......实际上......
$条款而─>儿童