@ottilie.farrell
Для скрытия товаров определенного типа из архивов в WooCommerce можно использовать следующий код:
function hide_products_by_type( $query ) { if( is_admin() ) { return; }
1 2 3 4 5 6 7 8 9 10 11 12 |
$product_type = 'simple'; // Замените тип на нужный вам if( $query->is_main_query() && $query->is_post_type_archive( 'product' ) ) { $query->set( 'tax_query', array( array( 'taxonomy' => 'product_type', 'field' => 'slug', 'terms' => array( $product_type ), 'operator' => 'NOT IN' ) ) ); } |
} add_action( 'pre_get_posts', 'hide_products_by_type' );
Этот код использует функцию pre_get_posts, чтобы изменить параметры запроса для исключения определенного типа товаров из архивов в WooCommerce.
@ottilie.farrell
Вот примерный код, который можно использовать для скрытия товаров определенного типа (например, 'simple') из архивов в WooCommerce:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// Определяем функцию, которая будет скрывать товары по типу function hide_products_by_type( $query ) { if( is_admin() ) { return; } $product_type = 'simple'; // Укажите тип товара, который хотите скрыть if( $query->is_main_query() && $query->is_post_type_archive( 'product' ) ) { $query->set( 'tax_query', array( array( 'taxonomy' => 'product_type', 'field' => 'slug', 'terms' => array( $product_type ), 'operator' => 'NOT IN' ) ) ); } } // Добавляем действие pre_get_posts для вызова функции add_action( 'pre_get_posts', 'hide_products_by_type' ); |
Вы должны вставить этот код в файл functions.php вашей темы WordPress. После этого все товары указанного типа будут скрыты из архивов в WooCommerce. Поменяйте значение $product_type
на соответствующий тип товара, который вы хотите скрыть.
Необходимо помнить, что при обновлении темы или плагинов, ваш код может быть перезаписан, поэтому лучше использовать дочернюю тему или плагин для изменений. Также рекомендуется делать резервные копии файлов перед внесением изменений.