Как с помощью wp query фильтровать товары по индивидуальным атрибутам woocommerce
Я получаю все эти атрибуты выгрузкой из мой склад, Имя атрибута и значение кириллические. Ещё все атрибуты индивидуальные
Когда пытаюсь отфильтровать по атрибуту ничего не получаю. Оно в общем то логично. Я не знаю как правильно составить $args для wp_query для работы с атрибутами, и тем более не знаю как к их определять по ключу
Array
(
[post_type] => product
[tax_query] => Array
(
[0] => Array
(
[taxonomy] => pa_Бренд
[field] => slug
[terms] => Array
(
[0] => ISB
)
)
Может есть плагин транслитерации для названия атрибута, если кто знает что подскажите пожалуйста
Ответы (1 шт):
Автор решения: ShadH
→ Ссылка
Вроде нашёл рабочее решение
// Set custom attribute name and value to search for
$attribute_name = 'color';
$attribute_value = 'green';
$serialized_value = serialize( 'name' ) . serialize( $attribute_name ) . serialize(
'value' ) . serialize( $attribute_value ); // extended version: $serialized_value =
serialize( $attribute_name ) . 'a:6:{' . serialize( 'name' ) . serialize(
$attribute_name ) . serialize( 'value' ) . serialize( $attribute_value ) . serialize(
'position' );
$args = array(
'post_type' => 'product',
'post_status' => 'any',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => '_product_attributes',
'value' => $serialized_value,
'compare' => 'LIKE',
),
),
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) {
$loop->the_post();
// do stuff here... e.g. get_the_ID()
}
wp_reset_postdata();