Як отримати список всіх категорій товарів [WooCommerce]
Привіт:) Іноді буває необхідно отримати всі створені для WooCommerce-магазину категорії товарів для подальшої з ними роботи. У цьому пості покажу 2 способи, як це зробити.
Список всіх батьківських категорій
/**
* Display All created Product Categories
*
* https://www.cloudways.com/blog/display-categories-in-woocommerce/
*
*/
function woocommerce_product_category( $args = array() ) {
$woocommerce_category_id = get_queried_object_id();
$args = array(
'parent' => $woocommerce_category_id
);
$terms = get_terms( 'product_cat', $args );
if ( $terms ) {
echo '<ul class="woocommerce-categories">';
foreach ( $terms as $term ) {
echo '<li class="woocommerce-product-category-page">';
// woocommerce_subcategory_thumbnail( $term );
echo '<h2>';
echo '<a href="' . esc_url( get_term_link( $term ) ) . '" class="' . $term->slug . '">';
echo $term->name;
echo '</a>';
echo '</h2>';
echo '</li>';
}
echo '</ul>';
}
}
add_action( 'woocommerce_before_shop_loop', 'woocommerce_product_category', 100 );
Список усіх батьківських і дочірніх категорій
function get_woocommerce_product_categories() {
$orderby = 'name';
$order = 'asc';
$hide_empty = false;
$cat_args = array(
'orderby' => $orderby,
'order' => $order,
'hide_empty' => $hide_empty,
);
$product_categories = get_terms( 'product_cat', $cat_args );
var_dump( $product_categories );
return $product_categories;
}
add_action( 'woocommerce_before_shop_loop', 'get_woocommerce_product_categories', 100 );