Фильтровать страницы архива Woocommerce со значениями атрибутов продукта по умолчанию

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

пример
Атрибут: pa_condition
Термины: новый, подержанный, распродажа

Я хотел бы видеть только новые продукты при открытии магазина.

Но есть 2 языка. Так что, я думаю, условие должно применяться к атрибуту id.

Как это можно сделать?

1

Решение

Обновлено: Вы можете попробовать эту подключенную функцию:

add_filter( 'woocommerce_product_query_tax_query', 'custom_product_query_tax_query', 10, 2 );
function custom_product_query_tax_query( $tax_query, $query ) {
if( is_admin() ) return $tax_query;

// Define HERE the product attribute and the terms
$taxonomy = 'pa_condition';
$terms = array( 'New', 'Used', 'Closeout' ); // Term names

// Add your criteria
$tax_query[] = array(
'taxonomy' => $taxonomy,
'field'    => 'name', // Or 'slug' or 'term_id'
'terms'    => $terms,
);
return $tax_query;
}

Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.

Проверено и работает.

Но я не уверен в переводе терминов, поэтому вы должны быть обязаны добавить их в секунду. $tax_query[] массив в запросе для этого переведенных терминов …


Официальная ссылка: WP_Query ~ Параметры таксономии

1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector