Плагин добавляет на сайт полнофункциональный инженерный калькулятор с поддержкой тригонометрических функций, логарифмов, факториала, математических констант и процентных вычислений. Калькулятор вставляется на любую страницу или запись одним шорткодом — [engineering_calculator]. Цветовое оформление выбирается на защищённой странице настроек через 18 готовых пресетов. Тема может быть задана и напрямую в шорткоде атрибутом preset, что позволяет размещать на одной странице несколько калькуляторов с разными темами одновременно. Ресурсы плагина (CSS, JS) загружаются только на страницах с шорткодом — на остальных страницах след плагина равен нулю.
Скачать
- Арифметика — сложение, вычитание, умножение, деление, скобки, смена знака (±).
- Тригонометрические функции — sin, cos, tan, asin, acos, atan; режим DEG (градусы) или RAD (радианы) переключается сегментированной кнопкой прямо в интерфейсе.
- Логарифмы и корень — натуральный логарифм ln, десятичный lg, квадратный корень √.
- Факториал — кнопка
x!, применяется к целой части числа. - Обратное значение — кнопка
1/x, вставляет шаблон1/(. - Математические константы — π и e доступны как отдельные кнопки.
- Процентные вычисления —
%работает как оператор деления на 100 в составных выражениях. - История вычислений — выпадающая панель с последними 50 записями; клик по записи возвращает выражение в поле ввода; история хранится в
localStorage, очищается одной кнопкой. - Встроенная инструкция — выпадающая панель с примерами ввода и описанием всех функций.
- 18 цветовых пресетов — от классического серо-белого до тёмных тем (Неон, Матрица, Галактика).
- Атрибут
presetв шорткоде — переопределяет сохранённую тему для конкретного экземпляра. - Адаптивный дизайн — корректно отображается на экранах от 360 px до широкоформатных мониторов.
- Условная загрузка ресурсов — CSS и JS подключаются только на страницах с шорткодом.
- Проверка обновлений — баннер в строке плагина при наличии новой версии; автообновления не выполняются.
| Параметр | Значение |
|---|---|
| Шорткод | [engineering_calculator] |
| Атрибуты шорткода | preset="ключ_пресета" |
| Путь установки | wp-content/plugins/engineering-calculator-smirnovcode/ |
| Хранение настроек | Опция engineering_calculator_settings в базе данных WordPress |
| Хранение токена доступа | Опция engineering_calculator_settings_token |
| Кеш проверки обновлений | Transient engineering_calculator_smirnovcode_remote_version (12 ч) |
| Поддерживаемые функции | sin, cos, tan, asin, acos, atan, ln, lg, √, 1/x, x!, %, π, e |
| Режимы тригонометрии | DEG (градусы), RAD (радианы) |
| Цветовых пресетов | 18 |
| Стилизация | CSS-переменные (--ec-bg, --ec-text, --ec-accent и др.), скоупируются к ID экземпляра |
| История вычислений | localStorage, максимум 50 записей |
| Санитизация данных | Пресет — проверка по белому списку допустимых ключей |
| Проверка обновлений | Раз в 12 часов через wp_remote_get, трёхуровневый кеш |
| Доступ к настройкам | Только по URL с токеном; токен — bin2hex(random_bytes(24)) |
Версия 0.0.5
- Кнопка копирования шорткода на странице настроек заменена с текста «Копировать» на inline SVG-иконку (24×24 px). При успешном копировании иконка меняется на галочку на 1.8 с, затем возвращается обратно.
aria-labelиtitleсохранены.
Версия 0.0.4
- Безопасность. Страница настроек скрыта из меню WordPress и доступна только по уникальному URL с токеном (
ec_token). Токен генерируется черезbin2hex(random_bytes(24)); сравнение —hash_equals()для защиты от timing-атак. Право доступа проверяется черезcurrent_user_can('manage_options'). - Атрибут
presetв шорткоде.[engineering_calculator preset="dark"]переопределяет сохранённую тему для конкретного экземпляра. Несколько калькуляторов с разными пресетами на одной странице работают независимо — CSS-переменные скоупированы к уникальному ID (#ec-calc-N). - Условная загрузка ресурсов. CSS и JS подключаются только на страницах с шорткодом через
wp_enqueue_style/wp_enqueue_scriptвнутри коллбэка шорткода. На остальных страницах ресурсы не загружаются. - Переключатель DEG / RAD переработан в сегментированный pill-контрол: две кнопки в закруглённом контейнере. Активная вкладка подсвечивается акцентным цветом. Скрытый `` сохранён для совместимости с JS-логикой.
- Иконки панелей истории и инструкции заменены с эмодзи (📋, ❓, 🗑) на inline SVG (
stroke="currentColor") — единообразный вид на всех платформах, стилизуемые через CSS. - Кнопки калькулятора переведены с
<table>на CSS Grid (repeat(7, 1fr),gap: 5px). Кнопка «=» занимает 2 столбца (grid-column: span 2). - Доступность (a11y). Контейнер —
role="region", группа кнопок —role="group". Поле ввода:aria-label,aria-live="polite",autocomplete="off",inputmode="none",spellcheck="false". Все кнопки-иконки получилиaria-label. Интерактивные элементы — стиль:focus-visibleсoutline. - Дизайн. Многослойные тени на контейнере, скругления кнопок 10 px,
translateY(-1px)при hover,scale(0.95)при active. Поле ввода:font-variant-numeric: tabular-nums,letter-spacing, анимированная обводка при фокусе. Кнопка «Копировать» шорткод на странице настроек. - Исправлен URL сервера обновлений: правильный slug
engineering-calculator-smirnovcode.json.
Версия 0.0.3
- Добавлена страница настроек с выбором цветового пресета; ссылка «Настройки» появляется в строке плагина.
- Реализована система из 18 цветовых пресетов через CSS-переменные.
- Страница настроек отображает пресеты плиткой (CSS Grid,
auto-fill,minmax(170px, 1fr)) с мини-превью и палитрой из 10 образцов. - Добавлена проверка новой версии с баннером под строкой плагина. Автообновления не выполняются.
- Добавлена строка «Перейти на страницу плагина» в метаданные строки плагина.
Версия 0.0.2
- Первый публичный релиз.
- Инженерный калькулятор: тригонометрия, логарифмы, факториал, квадратный корень, константы π и e.
- Переключатель DEG / RAD.
- История вычислений с выпадающей панелью (localStorage, 50 записей).
- Встроенная инструкция с примерами.
- Адаптивная вёрстка для экранов от 360 px.
- Шорткод
[engineering_calculator].
Панель настройки

Демонстрация
История вычислений
Инструкция
Ввод: Введите выражение с клавиатуры или кнопками. Нажмите Enter или = для вычисления.
Проценты (% = ÷100):
- Процент от числа:
200×15%→ 30 - Число + процент:
100+100×20%или100×(1+20%)→ 120 - Число − процент:
500-500×10%или500×(1-10%)→ 450 - Процент как дробь:
50%→ 0.5
Функции: sin(30), √(9), ln(2), 1/(5)
Факториал: 5! → 120
Константы: π, e








