Можно сделать так. В файл functions.php добавь код для вывода категорий в которых нет товара:
add_filter( 'woocommerce_product_subcategories_hide_empty', function() { return false; }, 10, 1 );
function woocommerce_show_empty_categories($cat_args){
$cat_args['hide_empty']=0;
return $cat_args;
}
А для такого, чтоб описание выводилось под категорией, можно сделать так:
Найди файл отвечающий за вывод товарной категории по стандарту это обычно: archive-product.php и там найди строчку do_action( 'woocommerce_archive_description' ); и перенеси ее после кода <?php do_action( 'woocommerce_after_shop_loop' ); ?>, но не прям после него а после условия проверки отсутсвия товара в категории
что-то типа того, должно получиться:
<?php do_action( 'woocommerce_after_shop_loop' ); ?>
<?php
else :
do_action( 'woocommerce_no_products_found' );
endif;
do_action( 'woocommerce_archive_description' );
}
}
Минус этого способа, что если обновишь тему, то слетит правка.