WordPress获取woocommerce类别作为数组

时间:2018-11-15 12:41:28

标签: wordpress

我需要将我所有的类别都放在一个数组中,以便将产品自动添加到类别中,但是我失败了:/我有以下代码:

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的对象无法在中转换为字符串

有人知道如何处理它以将所有类别保存在字符串中吗?

1 个答案:

答案 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错误,然后它将自动解决。