获取 WooCommerce 中的所有产品类别

abd*_*ood 5 php wordpress custom-taxonomy woocommerce taxonomy-terms

我正在尝试在 WooCommerce 中获取产品类别,但get_terms()功能对我不起作用。我得到一个空数组。

我做错了什么?如何获取所有 Woocommerce 产品类别术语?

Loi*_*tec 10

产品类别是WooCommerce 产品使用的“自定义分类法”product_cat

您需要使用get_terms(),用正确的分类,这种方式:

// Get Woocommerce product categories WP_Term objects
$categories = get_terms( ['taxonomy' => 'product_cat'] );

// Getting a visual raw output
echo '<pre>'; print_r( $categories ); echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下方法获取空产品类别get_terms()

$categories = get_terms( ['taxonomy' => 'product_cat', 'hide_empty' => false] );
Run Code Online (Sandbox Code Playgroud)

测试和工作(WordPress 3.5+ 和 WooCommerce 2.4+)......两者都适合你。

你会得到类似的东西:

Array
(
    [0] => WP_Term Object
        (
            [term_id] => 83
            [name] => Uncategorized
            [slug] => uncategorized
            [term_group] => 0
            [term_taxonomy_id] => 83
            [taxonomy] => product_cat
            [description] => 
            [parent] => 0
            [count] => 5
            [filter] => raw
            [meta_value] => 1
        )

    [2] => WP_Term Object
        (
            [term_id] => 11
            [name] => Tshirts
            [slug] => tshirts
            [term_group] => 0
            [term_taxonomy_id] => 11
            [taxonomy] => product_cat
            [description] => 
            [parent] => 0
            [count] => 13
            [filter] => raw
            [meta_value] => 2
        )
    // … and so on …
)
Run Code Online (Sandbox Code Playgroud)