Чтобы отобразить список подкатегорий первого уровня на странице категории товаров в WooCommerce, можно использовать встроенные хуки или переопределить шаблоны WooCommerce. Вот примерный способ реализации:
1. Использование хука:
В WooCommerce есть хук `woocommerce_before_shop_loop`, который срабатывает перед выводом списка товаров. Вы можете использовать этот хук, чтобы добавить свой код отображения подкатегорий.
Добавьте следующий код в файл `functions.php` вашей темы:
```php
function display_first_level_subcategories() {
// Получаем текущую категорию
$term = get_queried_object();
if ( $term && isset( $term->taxonomy, $term->term_id ) ) {
// Получаем список подкатегорий
$subcategories = get_terms( 'product_cat', array(
'parent' => $term->term_id,
'hide_empty' => false
) );
if ( !empty( $subcategories ) ) {
echo '<ul class="subcategories-list">';
foreach ( $subcategories as $subcategory ) {
$term_link = get_term_link( $subcategory, 'product_cat' );
// Отображаем подкатегории
echo '<li class="subcategory">';
echo '<a href="' . esc_url( $term_link ) . '">' . esc_html( $subcategory->name ) . '</a>';
echo '</li>';
}
echo '</ul>';
}
}
}
add_action( 'woocommerce_before_shop_loop', 'display_first_level_subcategories' );
```
2. Переопределение шаблонов:
Если вам требуется более детальная кастомизация, можно переопределить файл шаблона в своей теме.
- Создайте папку `woocommerce` в директории своей темы.
- Скопируйте файл `archive-product.php` из `wp-content/plugins/woocommerce/templates/` в созданную папку.
- Отредактируйте `archive-product.php` в своей теме, добавив тот же код, что и в приведенном выше примере использования хука.
После добавления кода, подкатегории первого уровня будут отображаться на странице категории товаров до списка товаров. Убедитесь, что ваша тема и плагины обновлены до последних версий, так как код может отличаться в зависимости от версии WooCommerce.