Для вывода всех категорий товаров на страницу в случайном порядке и ограниченным количеством воспользуемся моим примером:
Код
<div class="container-001">
<div class="container-001-content">
<p class="container-001__maintext">КАТЕГОРИИ</p>
<div class="container-001__items">
<?php
$max = 6; //number of categories to display
$args = array(
'taxonomy' => 'product_cat',
'orderby' => 'none',
'order' => 'ASC',
'parent' => 0,
'exclude' => 15,
'hide_empty' => false
);
$product_categories = get_terms( $args );
// Random order
shuffle($product_categories);
// Get first $max items
$product_categories = array_slice($product_categories, 0, $max);
$count = count($product_categories);
if ( $count > 0 ){
foreach ( $product_categories as $product_category ) {
$thumbnail_id = get_woocommerce_term_meta( $product_category->term_id, 'thumbnail_id', true );
?>
<div class="container-001__items-itm">
<a class="container-001__items-itm-linktext" href="<? echo get_term_link( $product_category ); ?>"><? echo $product_category->name; ?></a>
<a class="container-001__items-itm-linkimg" href="<? echo get_term_link( $product_category ); ?>">
<img class="container-001__items-itm-linkimg-img" src="<?php echo wp_get_attachment_url( $thumbnail_id );?>" alt="<? echo $product_category->name; ?>">
</a>
</div>
<?
}
}
?>
</div>
</div>
</div>
Этим же примером можно выводит категории на любую страницу сайта. Вот так:
Код
<div class="container-001">
<div class="container-001-content">
<p class="container-001__maintext">КАТЕГОРИИ</p>
<div class="container-001__items">
<?php
$args = array(
'taxonomy' => 'product_cat',
'orderby' => 'none',
'order' => 'ASC',
'parent' => 0,
'number' => 6,
'exclude' => 15,
'hide_empty' => false
);
$product_categories = get_terms( $args );
$count = count($product_categories);
if ( $count > 0 ){
foreach ( $product_categories as $product_category ) {
$thumbnail_id = get_woocommerce_term_meta( $product_category->term_id, 'thumbnail_id', true );
?>
<div class="container-001__items-itm">
<a class="container-001__items-itm-linktext" href="<? echo get_term_link( $product_category ); ?>"><? echo $product_category->name; ?></a>
<a class="container-001__items-itm-linkimg" href="<? echo get_term_link( $product_category ); ?>">
<img class="container-001__items-itm-linkimg-img" src="<?php echo wp_get_attachment_url( $thumbnail_id );?>" alt="<? echo $product_category->name; ?>">
</a>
</div>
<?
}
}
?>
</div>
</div>
</div>
где "number" - это количество выводимых записей, "exclude" - исключить категорию от вывода, "parent" - вывести только верхний уровень категорий, "number" - ограничить количество выводимых категорий.
О других параметрах get_terms написано на сайте wp-kama.