На самом деле некоторые вещи не совсем понятно как гуглить, особенно, если сталкиваешься впервые.
За категорию отвечает шаблон taxonomy-product_cat, который в свою очередь подключает в себя шаблон archive-product. В этом шаблоне есть определенное количество хуков на которые можно подвесить вывод определенных товаров. Например на хук woocommerce_after_shop_loop с приоритетом больше 10, то есть после пагинации.
В вукоммерсе есть три вида связанных товаров. Апселы, Кросселы и , собственно, Связанные товары. Я пишу сейчас по памяти, могу гдето ошибиться. Кросселы задаются в настройках товара и выводятся в корзине. Апселы задаются тоже в настройках товара и выводятся в карточке товара. Рекомендованные товара берутся на основе категории товара и сами по себе выводятся в карточке товара. Есть плагин, позволяющий выводить вручную.
Собственно, вывод - все эти товары каким-либо образом связаны с конкретным товаром а не с категорией (кроме релейтед, но он все равно связан с категорией конкретного товара). Поэтому что будет если подвесить стандартные выводы на хук в категории - я не знаю.
Выглядеть это могло бы както так:
add_action( 'woocommerce_after_shop_loop', 'your_theme_upsell_display', 15 );
function your_theme_upsell_display () {
if ( is_product_category() ) {
woocommerce_upsell_display();
}
}
add_action( 'woocommerce_after_shop_loop', 'your_theme_output_related_products', 20 );
function your_theme_output_related_products () {
if ( is_product_category() ) {
woocommerce_output_related_products();
}
}
Тут сама идея как вывести что-либо на странице категорий.