Чтобы отфильтровать запрос продукта с помощью коротких кодов, вам нужно использовать woocommerce_shortcode_products_query
фильтр-хук, но он будет работать со всеми продуктами, кроме переменных.
Код (только для домашней страницы) :
add_filter( 'woocommerce_shortcode_products_query', 'hide_on_sale_products_in_home', 50, 3 );
function hide_on_sale_products_in_home( $query_args, $atts, $loop_name ){
if( is_front_page() ){
$query_args['meta_query'] = array( array(
'key' => '_sale_price',
'value' => '',
'compare' => '=',
) );
}
return $query_args;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.