Добрый день. По пунктам о причинах и о решении.
1. Штатными средствами Вукомерц НЕЛЬЗЯ удалить категорию в которой есть хотя бы 1 товар. Удаление через всякие чудоскрипты, прямые ковыряния в базе данных и тп повреждают базу данных сайта. После такого удаления Вукомерц по прежнему хранит данные ID данной категории внутри КАЖДОЙ карточки товаров, которым она была прописана.
2. В моём плагине имеется скрытая функция автопочинки базы данных на такой случай. Вам нужно отредактировать код моего плагина, а именно в файле yml-for-yandex-market/classes/generation/traits/common/trait-yfym-t-common-get-catid.php (надо раскомментировать строки 39, 62, 80 и запустить повторное создание фида через кнопку “сохранить и создать фид”)
ПРЕДУПРЕЖДЕНИЕ: Функция автопочинки БД – это скрытая функция плагина, которая хоть и очень себя показала, но всё же несёт определённые риски. По этой причине используя её вы действуете на свой страх и риск. Резервное копирование базы данных ДО активации данной функции ОБЯЗАТЕЛЬНО. Автор ответственности за её работу НЕ НЕСЁТ.
Альтернативный, безопасный, путь: Пройти все товары руками и сделать следующее:
1. Открыть проблемный товар. Снять все галочки с категорий. Нажать “сохранить”.
2. После сохранения вукомерц поставит одну из галочек автоматически. Снять эту галку и поставить ту, которая соответствует реальной категории товара. Сохранить.
Повторить шаги для КАЖДОГО товара.