WooCommerce Добавление родительского атрибута автоматически

У меня есть сайт WooCommerce с автоматически импортируемыми продуктами, которые обновляют их каждую неделю. Эти продукты имеют атрибуты называется COLOR а также SIZE.

Тем не менее COLOR красный имеет эти субатрибуты (например):

  • Малиновый красный
  • Кола красный
  • Puma Red

Обычно мне приходится вручную добавлять и присваивать эти податрибуты атрибуту «родительский КРАСНЫЙ», и это большая работа.

Интересно, есть ли способ сделать это автоматически?

Например, если атрибут содержит слово RED, присвойте его родительскому атрибуту RED.

Благодарю.

1

Решение

Это может быть странным ответом. Во-первых, это должно помочь вам понять, как идут дела в базе данных WordPress / WooCommerce, и это может быть хорошей альтернативой, если вы что-то понимаете в Database SQL или MySQL.

Сначала объясняется, как атрибуты и податрибуты WooCommerce устанавливаются в базе данных:

  1. При создании атрибута он попадает в таблицу БД wp_woocommerce_attribute_taxonomies.
attribute_name  attribute_label attribute_id    attribute_type  attribute_orderby   attribute_public

color           color           1               select          menu_order          0
  1. Каждый субатрибут входит в таблицу БД wp_terms (так они термины). Здесь у меня есть 3 под-атрибута: 'black', 'blue' а также 'green':
term_id     name        slug        term_group

8           Black       black       0
9           Blue        blue        0
10          Green       green       0
  1. Отношения между этим основным атрибутом и его податрибутами находятся в таблице БД. wp_term_taxonomy.
    Теперь представьте, что слаг вашего основного атрибута 'color'.
    Тогда для каждого податрибута term_id у вас будет строка пули, начинающаяся с 'pa_ (это значит пRoduct ttribute) + основной атрибут слаг color.
    Итак, вы получите, наконец, 'pa_color'
    (надеюсь, это понятно).

    Теперь в этой таблице у вас есть «Количество» столбец, который подсчитывает количество продуктов, относящихся к этой подкатегории term_id,

term_taxonomy_id    term_id     taxonomy    description parent  count

8                   8           pa_color                0       2
9                   9           pa_color                0       1
10                  10          pa_color                0       1
  1. В таблице БД wp_term_relationships вы найдете отношения между продуктами (object_id столбец, используемый вариациями, например) и податрибуты (term_taxonomy_id колонка). Как видно из приведенного ниже примера, податрибуты используются 2 продуктами (object_id):
object_id   term_taxonomy_id        term_order

22          8                       0
40          8                       0
40          9                       0
22          10                      0

Решение SQL:
Для вас, если вы можете изменить таблицы базы данных, полезная таблица для изменения wp_term_taxonomy Таблица БД.

  1. Искать все податрибуты term_id в wp_terms Таблица БД.
  2. Сравните их с существующими term_id в wp_term_taxonomy Таблица БД
  3. Создать для всех несуществующих term_id в wp_term_taxonomy с правильным 'taxonomy' слизняк для каждого.

Это возможно с запросами SQL через PHP (что вам нужно будет точно настроить ваши специфические потребности).

Я надеюсь, что это поможет вам немного.

Несколько полезных тем, связанных с SQL wp_term_taxonomy :

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]