Скачать
- Конвертация в реальном времени — изменение суммы или валюты в любом поле мгновенно пересчитывает значение во втором поле без перезагрузки страницы.
- Двусторонний ввод — можно вводить сумму как в поле источника, так и в поле назначения; второе поле пересчитывается автоматически.
- Кнопка свапа (⇄) — меняет местами выбранные валюты одним кликом.
- Быстрые суммы — кнопки 10, 100, 1 000, 10 000, 100 000 для мгновенного ввода популярных сумм.
- Динамика к предыдущему дню — стрелки ↑ ↓ показывают рост или падение курса валюты к рублю.
- Таблица кросс-курсов — сводка курса выбранной валюты ко всем остальным валютам калькулятора.
- График динамики курса — SVG-визуализация изменений курса выбранной валюты к рублю за 7, 30 или 90 дней. Цвет линии меняется в зависимости от тренда (рост / падение / без изменений). Показывает мин/макс, Δ за период в рублях и процентах. Данные копятся плагином самостоятельно при каждом успешном обновлении курсов; при активации плагин единоразово загружает историю за 90 дней назад.
- Просмотр сохранённой истории в админке — отдельный блок на странице настроек с фильтрами по валюте (по умолчанию EUR) и периоду (по умолчанию месяц). Показывает таблицу «дата / курс / изменение к предыдущей записи» + сводные карточки со статистикой (текущий, среднее, мин, макс, Δ за период).
- Ручная загрузка истории за месяц — кнопка в настройках. Делает серию запросов к cbr.ru с параметром
date_req=DD/MM/YYYYза последние 30 дней и сохраняет все полученные снимки в БД. Полезно, если плагин был установлен давно, но пока не накопил нужного объёма истории. - Курсы ЦБ РФ — официальный источник данных (
cbr.ru/scripts/XML_daily.asp), автоматическое обновление раз в сутки через WP-Cron + принудительное обновление из админки. - 10 цветовых пресетов — 8 тёмных (Тёмный космос, Полночный синий, Лесной, Закат, Арктика, Неон-сити, Пепел, Сапфир) и 2 светлых (Светлая, Слоновая кость), разработанных по признанным схемам цветовой композиции (Monochromatic, Complementary, Split-Complementary, Analogous, Triadic).
- 5 управляемых блоков — описание, инструкция, научное обоснование, FAQ-аккордеон, дисклаймер. Независимое включение/отключение из админки и через шорткод.
- FAQ с 12 предзаполненными парами — вопросы и ответы по теме валютных операций. Поддерживаются сортировка drag-and-drop, добавление, удаление, восстановление дефолта.
- Проверка обновлений плагина — лёгкий механизм без встраивания в систему автообновлений WordPress. Бейдж «Доступно обновление» в строке плагина и ссылка «Проверить обновления».
- Поддержка нескольких экземпляров на странице — шорткод можно вставлять несколько раз, каждый работает независимо.
- Адаптивная вёрстка — корректно отображается от 320 px до широких экранов.
| Параметр | Значение |
|---|---|
| Шорткод | [currency-calculator] |
| Опция БД для настроек | currency_calculator_settings |
| Опция БД для курсов | currency_calculator_rates |
| Опция БД для истории курсов (график) | currency_calculator_history (до 90 дней) |
| Источник курсов | https://www.cbr.ru/scripts/XML_daily.asp (XML, Windows-1251) |
| Поддерживаемые валюты | RUB, USD, EUR, GBP, CNY, JPY, CHF, AUD, CAD, TRY, AED, KZT, BYN (13 валют, включая рубль) |
| TTL кеша курсов | 6 часов (runtime); ежедневный WP-Cron + ручное обновление |
| Атрибуты шорткода | description, instructions, scientific, faq, disclaimer (значения 1 / 0) |
| Дефолтный пресет | cosmic (Тёмный космос) |
| CSS-префикс | .cc-*, переменные --cc-* |
| Префикс констант | CURRENCY_CALCULATOR_* |
| Санитизация текстов | wp_kses_post() |
| Санитизация вопроса FAQ | sanitize_text_field() |
| URL проверки обновлений | https://smirnovcode.ru/updates/currency-calculator-smirnovcode.json |
| Период проверки обновлений | 12 часов (WP transient) |
1. Установка и активация
- Скопируйте папку
currency-calculator-smirnovcodeв каталог/wp-content/plugins/сайта. - Откройте в панели администратора раздел «Плагины».
- Найдите в списке «Калькулятор валют» и нажмите «Активировать».
- Во время активации плагин автоматически запросит актуальные курсы с
cbr.ruи запланирует ежедневное обновление.
2. Настройка плагина
- Перейдите в «Настройки → Калькулятор валют».
- В верхней части страницы отображается статус курсов: дата публикации ЦБ, количество загруженных валют и время последнего обновления. Рядом — кнопка «Обновить курсы сейчас» для принудительной загрузки.
- В секции «Цветовой пресет» выберите одну из 10 цветовых схем. Активная карточка подсвечивается синей рамкой.
- В секции «Текстовые блоки» управляйте пятью блоками:
- Чекбокс «Показывать» включает или отключает отображение блока на фронтенде.
- Текстовое поле содержит HTML-текст блока (разрешены безопасные теги:
<b>,<i>,<a>,<code>,<br>, списки и др.). - Иконка со стрелкой в правом верхнем углу поля заполняет текст значением по умолчанию.
- Блок FAQ редактируется отдельно: раскройте спойлер «Список вопросов и ответов», перетаскивайте элементы за ручку
⋮⋮, добавляйте кнопкой «+ Добавить вопрос», удаляйте ссылкой «Удалить», восстанавливайте полностью кнопкой «Восстановить по умолчанию». - Нажмите «Сохранить настройки».
3. Вывод на странице
Вставьте шорткод на нужной странице или записи:
[currency-calculator]Шорткод также поддерживается в виджетах и большинстве конструкторов (Elementor, WPBakery, Gutenberg через блок «Шорткод»).
4. Параметры шорткода
Шорткод принимает пять булевых атрибутов, которые переопределяют настройки из админки. Значения "0", "false", "no" и пустая строка считаются «ложью», остальные — «истиной».
| Атрибут | Управляет блоком | Значения |
|---|---|---|
description | Описание (над калькулятором) | 1 / 0 |
instructions | Как пользоваться калькулятором | 1 / 0 |
scientific | Основные правила расчёта | 1 / 0 |
faq | Вопросы и ответы | 1 / 0 |
disclaimer | Дисклаймер (внутри калькулятора) | 1 / 0 |
Примеры:
[currency-calculator]
[currency-calculator disclaimer="0" faq="0"]
[currency-calculator description="1"]
[currency-calculator instructions="0" scientific="0"]5. Проверка обновлений
Плагин раз в 12 часов проверяет наличие новой версии на сервере разработчика. Если обнаружена более свежая версия, на странице «Плагины» в строке с описанием появляется бейдж «↑ Доступно обновление X.Y.Z → A.B.C», ведущий на страницу плагина для ручной загрузки. Для принудительной проверки нажмите в строке плагина «Проверить обновления».
Автоматическая установка обновлений не выполняется — плагин не встраивается в систему автообновлений WordPress.
Версия 1.0.4
- У каретки FAQ убрано явное правило
font-size: 0.7rem. Размер глифа теперь наследуется от родительской кнопки (1rem) — треугольник выглядит крупнее и по пропорциям лучше совпадает с текстом вопроса.
Версия 1.0.3
- Символ каретки FAQ изменён с
▶(U+25B6) на►(U+25BA). Визуально почти идентичны, но U+25B6 входит в Unicode Emoji-реестр и на ряде платформ (Windows с Segoe UI Emoji, macOS с Apple Color Emoji) подменялся браузером на цветной эмодзи-глиф. U+25BA — строго текстовый символ, всегда рендерится монохромно. - В правилах для
::beforeзадан запаснойfont-family: Arial, Helvetica, sans-serif, чтобы исключить влияние шрифта темы на глиф каретки.
Версия 1.0.2
- Добавлена миграция настроек при обновлении плагина: при переходе с 1.0.0 на 1.0.2 сохранённый в БД блок FAQ автоматически заменяется на новый дефолт в стиле энциклопедии. Это избавляет от необходимости вручную нажимать «Восстановить по умолчанию» в админке.
- Усилена изоляция стилей FAQ-кнопок от темы сайта: для
.cc-plain .cc-faq-askдобавлены!importantнаbackground,color,border,box-shadow,border-radius,text-shadow. Это гарантирует чёрно-белый нейтральный фон без примеси акцентных цветов, которые некоторые темы WordPress задают для всех<button>. - Хранение служебной метки
currency_calculator_schema_versionвwp_optionsдля последующих миграций.
Версия 1.0.1
- FAQ-аккордеон на фронтенде приведён в единую стилистику с другими плагинами линейки: каретка
▶отрисовывается без собственного цвета (наследует#333от кнопки), без принудительного фона и вертикального центрирования черезtranslateY. - Иконки тренда курса в подписи заменены с заполненных треугольников
▲ ▼на тонкие стрелки↑ ↓— теперь совпадают с подсказками таблицы и текстами инструкций в настройках. - Обновлены тексты в блоке FAQ (14 пар вопрос-ответ образовательного характера: определения валютного курса, кросс-курса, спреда, номинала, объяснение критических точек графика и т. д.).
Версия 1.0.0
- Первый релиз плагина.
- Реализована интеграция с официальным XML-API ЦБ РФ (
XML_daily.asp) и кеширование курсов 13 валют в опцииcurrency_calculator_rates. - Добавлен шорткод
[currency-calculator]с пятью булевыми атрибутами:description,instructions,scientific,faq,disclaimer. - Реализован интерфейс конвертера: два поля ввода с двусторонним пересчётом, селекторы валют, кнопка свапа, блок быстрых сумм, таблица кросс-курсов, динамика ↑ ↓ к предыдущему дню.
- Добавлено 10 цветовых пресетов через CSS-переменные с автоматической публикацией в `
через хукwp_head` с приоритетом 5. - Реализованы пять редактируемых текстовых блоков (описание, инструкция, научное обоснование, FAQ с 12 парами, дисклаймер) с кнопками «Восстановить по умолчанию» и drag-and-drop сортировкой FAQ.
- Добавлены ежедневное обновление курсов через WP-Cron и ручное обновление из админки.
- Реализован fallback-механизм загрузки курсов: при отсутствии данных на сегодня метод
refresh_with_fallback()последовательно пробуетdate_req=DD/MM/YYYYна предыдущие даты (до 30 дней назад). Применяется при активации плагина, в WP-Cron и при ручном обновлении. - Добавлен SVG-график динамики курса с переключателем периода (7 / 30 / 90 дней). История хранится в опции
currency_calculator_history(до 90 дней), снимки добавляются при каждом успешномrefresh(). При активации плагина вызываетсяbackfill_history( 90 )— однократная фоновая загрузка истории. - В настройки добавлены: кнопка «Загрузить историю за месяц» (handler
handle_force_history_backfill, noncecc_force_history_backfill) и блок «Просмотр истории курсов» — таблица с фильтрами по валюте и периоду + карточки статистики. Дефолт: EUR / 30 дней. - Стрелки раскрытия у `
-селекторов перерисованы чёрно-белыми SVG-шевронами вместо пиксельной «галочки» из двухlinear-gradient. Цвет шеврона наследуется от--cc-text`, поэтому корректно отображается во всех 10 пресетах. - Добавлен лёгкий механизм проверки обновлений плагина с бейджем в строке плагина и кнопкой «Проверить обновления».
Страница настроек

Демонстрация
Профессиональный онлайн-калькулятор валют: быстрый пересчёт сумм между 12 основными валютами мира по официальным курсам Центрального банка Российской Федерации. Курсы обновляются автоматически. Поддерживаются доллар, евро, фунт, юань, иена, франк, тенге, лира, дирхам и другие валюты.
Калькулятор валют
Информация носит справочный характер. Курсы, используемые для конвертации, соответствуют официальным значениям Центрального банка РФ и не включают банковскую комиссию или спред обменного пункта. Фактический курс продажи/покупки у банков и обменных организаций может отличаться. При совершении валютных операций уточняйте актуальный курс у финансового учреждения.
Как пользоваться калькулятором
Шаг 1. Выберите исходную валюту в левом селекторе и введите сумму.
Шаг 2. Выберите валюту назначения в правом селекторе — результат пересчитается автоматически.
Шаг 3. При необходимости нажмите кнопку «⇄», чтобы поменять валюты местами.
Шаг 4. Под полями ввода отображается курс на дату публикации ЦБ РФ и динамика (↑/↓) относительно предыдущего дня.
Шаг 5. В таблице ниже можно сравнить курс выбранной валюты к рублю и ко всем остальным валютам калькулятора.
Основные правила расчёта
Источник данных. Калькулятор использует официальные курсы, публикуемые Банком России на cbr.ru (XML-фид XML_daily.asp). ЦБ РФ устанавливает курсы один раз в рабочий день — они применяются в течение следующих суток.
Алгоритм пересчёта. Все валюты пересчитываются через российский рубль как опорную единицу.
Формула: amount_to = amount_from × (value_from / nominal_from) / (value_to / nominal_to), где value — стоимость nominal единиц валюты в рублях по данным ЦБ РФ.
Точность. Результат округляется до 2 знаков для сумм ≥ 1 и до 4 знаков для сумм < 1. Для крупных сделок уточняйте курс покупки/продажи у вашего банка — биржевой курс и курс обменного пункта могут отличаться от учётного.
Динамика. Стрелки ↑/↓ рядом с курсом показывают изменение относительно предыдущей даты публикации.
Вопросы и ответы
Валютный курс — это цена одной денежной единицы, выраженная в другой. В России официальный курс устанавливается Центральным банком на каждый рабочий день и применяется для бухгалтерского учёта, налоговых расчётов и таможенного оформления.
Кросс-курс — это соотношение двух валют, рассчитанное через третью (опорную) валюту. В данном калькуляторе опорной валютой выступает российский рубль: курс пары EUR/USD получается делением курса EUR/RUB на курс USD/RUB.
Расчёт основан на стандартной формуле: сумма_в_целевой_валюте = сумма_исходная × (курс_исходной_к_рублю ÷ курс_целевой_к_рублю). Оба курса берутся из официальных данных ЦБ РФ с учётом номинала каждой валюты.
Номинал — это количество единиц иностранной валюты, за которое ЦБ РФ публикует курс. Для большинства валют номинал равен 1, но для валют с низкой стоимостью единицы (японская иена, казахстанский тенге) курс устанавливается за 100 единиц, а для валют некоторых развивающихся стран — за 1 000 или 10 000.
Тринадцать: российский рубль как базовая и двенадцать иностранных — доллар США, евро, фунт стерлингов, китайский юань, японская иена, швейцарский франк, австралийский и канадский доллары, турецкая лира, дирхам ОАЭ, казахстанский тенге и белорусский рубль. Выбор основан на объёме торгового оборота и популярности у русскоязычной аудитории.
Официальным курсом называют значение, которое Банк России фиксирует и публикует ежедневно для целей учёта и налогообложения. Этот курс не применяется при обмене валюты в банках и обменных пунктах — коммерческие структуры устанавливают собственные курсы покупки и продажи с учётом спреда.
Спред — это разница между курсами покупки и продажи валюты в банке или обменнике. Он формирует доход коммерческого учреждения и обычно составляет 1–5% от официального курса. Именно из-за спреда реальный обмен всегда менее выгоден, чем курс ЦБ.
Центральный банк РФ публикует новые значения один раз в рабочий день — как правило, после 11:30 по московскому времени. В выходные и праздники курсы не обновляются; действуют значения последнего рабочего дня.
Стрелка вверх показывает, что курс валюты к рублю вырос по сравнению с предыдущим рабочим днём, стрелка вниз — что снизился. Рядом со стрелкой выводится абсолютное значение изменения в рублях. Если изменения нет, стрелка не отображается.
Курс формируется на валютном рынке под воздействием спроса и предложения. На него влияют цены на энергоносители, ключевая ставка ЦБ, состояние платёжного баланса, геополитика и действия крупных участников рынка. Центральный банк лишь фиксирует сложившееся на торгах значение.
На графике динамики курса критическими можно считать локальные максимумы и минимумы — точки разворота тренда. Они отмечают моменты, когда валюта достигала пика или дна за рассматриваемый период, и помогают оценить волатильность.
Семь дней подходят для оценки недельной волатильности и краткосрочных движений. Тридцать дней — стандартный горизонт для отслеживания месячного тренда. Девяносто дней позволяют увидеть более крупные циклы и сезонность. Выбор зависит от задачи: для путешествия достаточно недели, для планирования крупной покупки — трёх месяцев.
Калькулятор показывает официальные учётные курсы, а не прогноз. Для тактического планирования обмена он полезен как ориентир и историческая справка, но не как торговый сигнал. Реальная прибыльность сделки определяется курсом конкретного банка, комиссиями и объёмом операции.
Биржевой курс формируется в режиме реального времени и меняется каждую секунду. Официальный курс ЦБ — усреднённое значение, зафиксированное единожды в день. На спокойном рынке разница минимальна, в периоды волатильности может достигать нескольких процентов.








