Если вам необходимо динамически выводить курс доллара к рубля на WordPress, но при этом вы не сторонник засорять сайт разными дополнительными плагинами или они просто вам не подходят, то специально для вас у меня есть готовое решение.
В ходе разработки одного проекта я столкнулся с проблемой: Все цены в долларах, а курс у нас постоянно «Плавающий», более того, непонятно по какому курсу еще и вести расчета.
Для удобства расчетов посетителей сайта было принято решение выводить курс доллара к рублю внутри каждой карточки товара в динамическом, автоматически обновляемом формате. Вставил и забыл.
Создание динамического курса доллара за 4 шага
Шаг 1
Нам необходимо получить API для курсов валют. Не пугайтесь, только звучит страшно и непонятно. По сути, нам достаточно URL API центробанка:
- https://www.cbr-xml-daily.ru/daily_json.js
Шаг 2
Далее необходимо обратиться к помощи ИИ. GPT поможет нам сгенерировать нужный PHP сниппет:
function get_usd_to_rub_rate() {
// URL API Центробанка России
$url = 'https://www.cbr-xml-daily.ru/daily_json.js';
// Запрос к API
$response = wp_remote_get($url);
if (is_wp_error($response)) {
return 'Ошибка получения данных';
}
$data = wp_remote_retrieve_body($response);
$rates = json_decode($data, true);
if (isset($rates['Valute']['USD']['Value'])) {
$usd_to_rub = $rates['Valute']['USD']['Value'];
return number_format($usd_to_rub, 2, ',', ' ') . ' ₽'; // Форматирование значения
}
return 'Данные недоступны';
}
function usd_to_rub_shortcode() {
return get_usd_to_rub_rate();
}
add_shortcode('usd_to_rub', 'usd_to_rub_shortcode');
Шаг 3
Копируем этот код и затем просто вставляем его в functions.php, как показано на картинке ниже:
Шаг 4
Остался последний, самый простой и ответственный шаг — вставка шорткода. Скопируйте шорткод ниже:
[usd_to_rub]
Далее, все, что необходимо сделать это вставить его в нужное место на вашем сайте. Шорткод выведет значение чему равен 1$ в рублях с суффиком «₽».
Если вам нужно вывести чистое числовое значение, без символа рубля, то используйте следующий код, вместо верхнего:
function get_usd_to_rub_rate() {
// URL API Центробанка России
$url = 'https://www.cbr-xml-daily.ru/daily_json.js';
// Запрос к API
$response = wp_remote_get($url);
if (is_wp_error($response)) {
return 'Ошибка получения данных';
}
$data = wp_remote_retrieve_body($response);
$rates = json_decode($data, true);
if (isset($rates['Valute']['USD']['Value'])) {
$usd_to_rub = $rates['Valute']['USD']['Value'];
return number_format($usd_to_rub, 2, ',', ' '); // Форматирование значения без символа ₽
}
return 'Данные недоступны';
}
function usd_to_rub_shortcode() {
return get_usd_to_rub_rate();
}
add_shortcode('usd_to_rub', 'usd_to_rub_shortcode');
Буквально за 5-10 минут мы настроили динамический вывод курса доллара в WordPress. Согласитесь это было достаточно легко, теперь этот курс полностью зависит от курса ЦБР и будет обновляться автоматически при обновлении этого же курса в Центральном Банке.