Для себя решил это с помощью следующего костыля:
1. Стоял уже код, выводящий Цена по запросу для цены 0. Заменил в коде 0 на 9999999999, ибо такой цены у меня быть не может:
// для цены 9999999999 выводить "цена по запросу"
function my_price_replace($price, $product) {
if ($product->get_price() == 9999999999 ) return __( 'Цена по запросу' );
return $price;
}
add_filter( 'woocommerce_get_price_html', 'my_price_replace', 1, 2 );
2. В массовом редакторе заменил цены товаров с 0 на 9999999999
3. Сортировка товаров по-умолчанию - по возрастанию цены
Эффект достигнут