Get all product categories in WooCommerce Get all product categories in WooCommerce wordpress wordpress

Get all product categories in WooCommerce


Product category is a "custom taxonomy" product_cat used by WooCommerce products.

You need to use get_terms(), with the correct taxonomy, this way:

// Get Woocommerce product categories WP_Term objects$categories = get_terms( ['taxonomy' => 'product_cat'] );// Getting a visual raw outputecho '<pre>'; print_r( $categories ); echo '</pre>';

You can also get empty product categories using get_terms() like:

$categories = get_terms( ['taxonomy' => 'product_cat', 'hide_empty' => false] );

Tested and works (WordPress 3.5+ and WooCommerce 2.4+)… Both should works for you.

You will get something like:

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 …)