WooCommerce должно делать это автоматически, но в интересах ответа на ваш вопрос в вашем коде есть некоторые ошибки, похоже, вы пытаетесь смешивать оператор ternery с инструкцией IF.
Правильная замена строки 3 должна выглядеть так:
update_post_meta($post_id, '_price', (isset($product['sale-price']) && !empty($product['sale-price'])) ? $product['sale-price'] : $product['price']);