Вопрос или проблема
Я использую WP All Import для добавления/обновления продуктов WooCommerce из файла .xlsx.
Когда выполняется импорт, новые продукты добавляются, а старые обновляются, если есть что обновлять.
Я использую иерархическую категоризацию, которую я создал вручную в настройках импорта, имеющую 4 уровня.
Я также хотел бы добавить некоторые другие категории к продуктам в WooCommerce, но при выполнении нового импорта не удалять их, даже если они не указаны в файле.
Думаю, у вас есть лучшие идеи, чем у меня. Пока я думал о:
- назначать категории из файла только при создании продуктов и больше их не обновлять, если продукт уже существует (думаю, это можно решить с помощью некоторого кода)
- проверять, существует ли категоризация для продукта, которая совпадает с категорией в файле; если да, ничего не делать, иначе добавить эту категоризацию, но не редактировать существующую (думаю, это также можно сделать с помощью кода, но это будет немного сложно)
Любые предложения и идеи приветствуются. Спасибо заранее за ваше время.
Ответ или решение
К сожалению, ваш вопрос был закрыт, так как он не соответствует тематике платформы, на которой он был размещён. Однако я понимаю, что вам нужна помощь с WP All Import для управления категориями ваших продуктов WooCommerce. Позвольте мне предложить несколько решений проблемы:
-
Игнорирование обновления категорий существующих продуктов:
Вы можете использовать фильтры, доступные в WP All Import, чтобы изменить поведение программы при обновлении продуктов. В частности, вы можете написать кастомный PHP-код, который будет проверять, существует ли продукт, и если да, игнорировать категорию. Вот пример кода, который вы можете использовать в документации WP All Import:if ($existing_product) { // Продукт уже существует, не обновляем категории $categories = get_the_terms($existing_product->ID, 'product_cat'); // Добавьте ваш логика обработки, если необходимо } else { // Продукт новый, добавляем категории из файла // Ваш код для обработки добавления категорий }
-
Добавление новых категорий без удаления существующих:
Вы можете использовать функцию для проверки и добавления категорий, которые есть в вашем .xlsx файле, без удаления старых. Например:$current_categories = wp_get_post_terms($product_id, 'product_cat', array('fields' => 'ids')); $new_categories = array(); // Получите новые категории из вашего файла // Сравните текущие и новые категории и добавьте только те, которые не существуют foreach ($new_categories as $category) { if (!in_array($category, $current_categories)) { $current_categories[] = $category; // Добавьте категорию в массив } } // Обновите категории wp_set_post_terms($product_id, $current_categories, 'product_cat');
-
Использование функционала WP All Import:
Если вы не хотите писать свой код, используйте настройки WP All Import, чтобы задать, что делать с существующими категориями. В разделе "Categories" найдите опцию "Append to existing terms" (добавить к существующим терминам). Это позволит вам добавлять новые категории к продуктам, не удаляя уже существующие.
Эти подходы должны помочь вам управлять категориями продуктов в WooCommerce с помощью WP All Import без удаления старых категорий. Если у вас есть дополнительные вопросы, пожалуйста, дайте знать!