get_terms给出了"无效的分类法"来自插件

时间:2014-10-25 15:26:31

标签: php wordpress woocommerce

我正在建立一个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
    (
    )
)

我是否需要将其挂钩到某些特殊的init或其他东西?我在functions.php中尝试了相同的代码,但是出现了同样的错误。

编辑: 是的,我找到了问题的解决方案。我添加了

add_action('init', 'runMyPlugin');

做了伎俩!

2 个答案:

答案 0 :(得分:0)

只需添加完整的代码示例

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);
}

答案 1 :(得分:0)

我有同样的问题。 对于Woocomerce,您可以通过在 functions.php 中添加以下代码来解决:

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