Как решить проблему с импортом товаров в WooCommerce?

Ситуация такова: После импорта товаров через WP All import или Product CSV Import Export товары импортируются, отображаются по категориям, но имена товаров не видны в Ajax-поиске и не фильтруются по цене, точнее фильтр не видит цен. Если в админ панели пересохранить товар ничего не меняя, то сразу все работает и фильтр по цене и Ajax-поиск. Была похожая проблема с атрибутами товаров, после импорта вкладка "Specifications" не отображалась в товаре, после пересохранения все становилось нормально, проблему помог решить разработчик таким кодом:
add_action( 'woocommerce_before_single_product', 'ec_child_modify_display_specs_attr' );

function ec_child_modify_display_specs_attr() {
	global $post;

	update_post_meta( $post->ID, '_specifications_display_attributes', 'yes' );

}

Кстати, если использовать встроенный в WooCommerce импорт, то все нормально и с именами в AJAX-поиске и фильтром цены, но у него ограниченный функционал.
Вопрос как массово пересохранить все товары? Или как настроить чтобы при импорте все сразу было по феншую.
P.s. Я понимаю что надо копать в сторону update_post(), но я не программист, не знаю ка это сделать
  • Вопрос задан
  • 2496 просмотров
Решения вопроса 1
@MorozBY Автор вопроса
Вопрос решился покупкой Про версии плагина Product Import Export Plugin For WooCommerce и письмом в поддержку.
Для тех у кого бесплатная версия этого плагина есть два частичных решения вопроса
1) только по обновлению цен в новой версии WooCommerce в "Статус" появилось поле перегенерировать страницы для поиска, действие нужно делать после каждого импорта/обновления импортом. Аякс поиск при этом не заработал.
2) в админке выбираем птичками товары - изменить - применить - выставляем статус например опубликовано - обновить. Обновляется и цена и имя для АЯКС поиска, но много действий (в зависимости от количества товара и скорости вашего хостинга, у меня больше 100 за один раз не получалось)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@deadnice
Попробуйте вставить в код выше следующее:
wp_update_post(array(['ID'] => $post->ID));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы