Нашёл выход, долго перебирая примеры из англонета. Дописываем код в
function.php:
//Подключаю свой обработчик для функции вызываемой после нажания кнопки "Перейти к оплате"
add_action('woocommerce_before_checkout_process','convert_total_price_to_rouble');
//Конвертирую финальную стоимость в рубли
function convert_total_price_to_rouble(){
//получаю глобальные данные WooCommerce
global $woocommerce;
//Пересчитываю стоимость всех товаров
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
//привожу стоимость товаров к типу FLOAT
$current_price = floatval($cart_item['data']->price);
//Конвертирую стоимость товара по нужному курсу
$current_price = $current_price * 50.0;
//Устанавливаю новую сконвертированную стоимость, которая отправится в платёжную систему
$cart_item['data']->set_price($current_price);
}
//TODO меняю символ валюты на рубли
}
Коряво конечно, потому что пересчитывается стоимость каждой единицы товара, а не финальная стоимость. Но другого метода задать стоимость товара я не нашёл)
Если кто-то знает, подскажите пожалуйста! И ещё остаётся заменить символ валюты на рубли, но конкретно в моём случае, в яндекс деньги символ валюты не передаётся (рубли по умолчанию)