WP All Import – обновление категорий с сохранением старых [закрыто]

Вопрос или проблема

Я использую WP All Import для добавления/обновления продуктов WooCommerce из файла .xlsx.

Когда выполняется импорт, новые продукты добавляются, а старые обновляются, если есть что обновлять.

Я использую иерархическую категоризацию, которую я создал вручную в настройках импорта, имеющую 4 уровня.

Я также хотел бы добавить некоторые другие категории к продуктам в WooCommerce, но при выполнении нового импорта не удалять их, даже если они не указаны в файле.

Думаю, у вас есть лучшие идеи, чем у меня. Пока я думал о:

  • назначать категории из файла только при создании продуктов и больше их не обновлять, если продукт уже существует (думаю, это можно решить с помощью некоторого кода)
  • проверять, существует ли категоризация для продукта, которая совпадает с категорией в файле; если да, ничего не делать, иначе добавить эту категоризацию, но не редактировать существующую (думаю, это также можно сделать с помощью кода, но это будет немного сложно)

Любые предложения и идеи приветствуются. Спасибо заранее за ваше время.

Ответ или решение

К сожалению, ваш вопрос был закрыт, так как он не соответствует тематике платформы, на которой он был размещён. Однако я понимаю, что вам нужна помощь с WP All Import для управления категориями ваших продуктов WooCommerce. Позвольте мне предложить несколько решений проблемы:

  1. Игнорирование обновления категорий существующих продуктов:
    Вы можете использовать фильтры, доступные в WP All Import, чтобы изменить поведение программы при обновлении продуктов. В частности, вы можете написать кастомный PHP-код, который будет проверять, существует ли продукт, и если да, игнорировать категорию. Вот пример кода, который вы можете использовать в документации WP All Import:

    if ($existing_product) {
       // Продукт уже существует, не обновляем категории
       $categories = get_the_terms($existing_product->ID, 'product_cat');
       // Добавьте ваш логика обработки, если необходимо
    } else {
       // Продукт новый, добавляем категории из файла
       // Ваш код для обработки добавления категорий
    }
  2. Добавление новых категорий без удаления существующих:
    Вы можете использовать функцию для проверки и добавления категорий, которые есть в вашем .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');
  3. Использование функционала WP All Import:
    Если вы не хотите писать свой код, используйте настройки WP All Import, чтобы задать, что делать с существующими категориями. В разделе "Categories" найдите опцию "Append to existing terms" (добавить к существующим терминам). Это позволит вам добавлять новые категории к продуктам, не удаляя уже существующие.

Эти подходы должны помочь вам управлять категориями продуктов в WooCommerce с помощью WP All Import без удаления старых категорий. Если у вас есть дополнительные вопросы, пожалуйста, дайте знать!

Оцените материал
Добавить комментарий

Капча загружается...