get_terms从插件中给出了“无效分类法”

2022-08-30 22:24:49

我正在为woocommerce构建一个插件,我有一些麻烦。我正在尝试获取所有可用的产品类别。

代码看起来像这样:

$cats = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC',  'parent' =>0));
print_r($cats);

这给了我

WP_Error Object
(
    [errors:WP_Error:private] => Array
        (
            [invalid_taxonomy] => Array
                (
                    [0] => Invalid taxonomy
                )
        )
    [error_data:WP_Error:private] => Array
    (
    )
)

我需要把它挂到一些特殊的初始化或其他东西上吗?我在函数中尝试了相同的代码.php但具有相同的错误。

编辑:是的,我发现了这个问题的解决方案。我添加了

add_action('init', 'runMyPlugin');

做到了!


答案 1

只需添加一个完整的代码示例

add_action('init', 'my_get_woo_cats');

function my_get_woo_cats() {
    $cats = get_terms( array( 'taxonomy' => 'product_cat','hide_empty' => 0, 'orderby' => 'ASC',  'parent' =>0) );
    print_r($cats);
}

答案 2

我遇到了同样的问题。对于 Woocomerce,您可以通过在函数中添加以下代码来解决.php

register_taxonomy( 'product_cat', array('product'), array() );

推荐