Опишу логику работы, а вы уже гляньте в документацию Woocommerce || WP
При клике на кнопку "Добавить в корзину" проверяете наличие товара в корзине пользователя и является ли добавленный ранее в корзину товар из той же категории, что и выбранный товар, если да, то не добавляете товар или удаляете из корзины.