我需要将我所有的类别都放在一个数组中,以便将产品自动添加到类别中,但是我失败了:/我有以下代码:
function getCats($catlist, $name) {
$regex = '('.implode('|', $catlist).')';
$success = preg_match_all($regex, $name, $matches);
return $success ? $matches[0] : [];
}
在其他功能中:
$catlist = get_terms( array(
'taxonomy' => 'product_cat',
'hide_empty' => false,
) );
$firstCat = getCats($catlist, $name)[0];
但是如果我运行代码,则会收到以下消息:
类WP_Term
的对象无法在中转换为字符串
有人知道如何处理它以将所有类别保存在字符串中吗?
答案 0 :(得分:1)
我已检查get_terms()
函数返回错误:
WP_Error对象([错误] =>数组([invalid_taxonomy] =>数组( [0] =>分类无效。 ))[error_data] =>数组())
$catlist = get_terms( array(
'taxonomy' => 'product_cat',
'hide_empty' => false,
) );
这就是为什么会出现错误的原因:
WP_Term类的对象无法转换为字符串
注意:请先使用https://wordpress.stackexchange.com/questions/13480/get-terms-return-errors解决Invalid taxonomy
错误,然后它将自动解决。