Создание вариантов не добавляет данные в wp_term_relationships - PullRequest
0 голосов
/ 14 апреля 2020

после создания вариантов таблица wp_term_relationships не обновляется с идентификатором варианта / object_id и термином атрибута id / term_taxonomy_id. Из-за этого я не могу выполнить tax_query для product_variation.

Мой пример tax_query:

$query_args = array(
‘post_type’ => ‘product_variation’,
‘post_status’ => ‘publish’,
‘posts_per_page’ => $attributes[‘limit’],
‘tax_query’ => array(

array(
‘taxonomy’ => ‘pa_purchase-as’,
‘field’ => ‘slug’,
‘terms’ => array(‘mirror’),
),

)
);

Примечание: однако атрибуты отлично сохраняются для вариантов, и я могу получить их через get_attributes (). Необходимо сохранить атрибуты как JSON в wp_post_meta.

1 Ответ

0 голосов
/ 14 апреля 2020

Теперь Woocommerce не хранит атрибуты вариаций в таблице term_relationships, а хранит значение атрибута в метаключе "attribute_your_att_slug".

В моем случае значение сохраняется в виде метаключа "attribute_pa_purchase-as". .

Итак, если вы хотите получить варианты, основанные на атрибутах, вы можете использовать мета-запрос вместо tax_query для получения результатов, как я использовал в следующем примере:

$query_args = array(
‘post_type’ => ‘product_variation’,
‘post_status’ => ‘publish’,
‘posts_per_page’ => $attributes[‘limit’],

'meta_query' => array(
            array(
                'key' => 'attribute_'.trim($attributes['attribute']),
                'value' => $terms,
                'compare' => 'IN',
            )
)

);

Hope это помогает кому-то :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...