Плагин WP All Import не всегда видит и обновляет данные, куда копать?
Для синхронизации цен и статуса наличия из файла XML использую плагин WP All Import pro.
Первичную настройку сделал, импортировал данные, все стало на свои места. Для повторной синхронизации выделил цену и статус наличия, для сопоставления выбран _sku. Добавлена команда cron на сервер запуск 1 раз в час. Но плагин иногда не видит разницы в xml файле и текущих данных на сайте. Изменения есть в xml и на сайте и я специально наличие и цену менял вручную. Иногда он обновляет все товары, но изменения не было, а иногда все пропускает как будто обновлять нечего, хотя это не так и изменения были. Как проверить правильность работы плагина? Логи просто показывают действия, но не причину.
Я только знакомлюсь с плагином и у меня есть предположение, что он не видит статуса и цены товара на сайте и использует для последующего обновления логи предыдущего.
у меня было похожее — ты верно подозреваешь. Плагин хэширует данные из XML-файла и сравнивает с хэшем прошлого импорта, а не с тем что реально сейчас в базе. Поэтому если вручную менял цену в WP, плагин считает «ничего не изменилось». А если XML изменился на любую мелочь — обновит всё подряд.
Фикс: отключи опцию Skip WooCommerce products if their data in this import file has not changed, тогда будет обновлять каждый раз. Или через фильтр wp_all_import_is_post_to_update напиши сравнение с get_post_meta() и решай сам что обновлять.