Чтобы исключить товары "Нет в наличии" с вашей домашней страницы, это можно сделать разными способами.
1) Мета-запрос с использованием выделенного фильтра woocommerce_product_query_meta_query
:
add_filter( 'woocommerce_product_query_meta_query', 'filter_product_query_meta_query', 10, 2 );
function filter_product_query_meta_query( $meta_query, $query ) {
// On woocommerce home page only
if( is_front_page() ){
// Exclude products "out of stock"
$meta_query[] = array(
'key' => '_stock_status',
'value' => 'outofstock',
'compare' => '!=',
);
}
return $meta_query;
}
2) Налоговый запрос с использованием выделенного фильтра woocommerce_product_query_tax_query
:
add_filter( 'woocommerce_product_query_tax_query', 'filter_product_query_tax_query', 10, 2 );
function filter_product_query_tax_query( $tax_query, $query ) {
// On woocommerce home page only
if( is_front_page() ){
// Exclude products "out of stock"
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => array('outofstock'),
'operator' => 'NOT IN'
);
}
return $tax_query;
}
Код помещается в файл functions.php вашей активной дочерней темы (или активной темы). Обе работы.
Похожие: Скрыть только на складе товары на страницах архива магазина в Woocommerce