Описание
Добавляет 22 динамических блока Gutenberg и шорткоды. Календарные и библейские данные поступают из внешних сервисов, перечисленных ниже; собственная календарная база данных в плагин не включена.
Исходный код и разработка
Публичный репозиторий исходников: https://github.com/VAtapin/wp_orthodox_calendar
Исходники JavaScript и CSS: https://github.com/VAtapin/wp_orthodox_calendar/tree/main/assets
Файлы assets/admin.js, assets/calendar.js, assets/editor.js, assets/admin.css и assets/calendar.css — оригинальные читаемые исходники, включённые в этот ZIP. WordPress использует их напрямую. Транспиляция, объединение, минификация и генерация JavaScript/CSS отсутствуют; отдельного скрытого дерева исходников нет. Скрипты используют библиотеки Gutenberg, предоставляемые WordPress, а не включённые в плагин копии.
Редактируйте эти исходные файлы напрямую. Для установки и разработки плагина сборка npm не требуется. Для проверки синтаксиса JavaScript выполните node —check assets/admin.js, node —check assets/calendar.js и node —check assets/editor.js. PHP-файлы можно проверить командой php -l. Необязательное форматирование: npx prettier@3.6.2 —write assets/.js assets/.css. Репозиторий содержит scripts/build-language-files.mjs для повторной сборки каталогов MO с помощью Node.js. Порядок упаковки выпуска описан в README.md публичного репозитория.
Шорткоды
[orthocal_today]
[orthocal_upcoming limit=»5″ filter=»main»]
[orthocal_month year=»2027″ month=»5″]
[orthocal_year year=»2027″]
[orthocal_day date=»2027-05-02″]
[orthocal_readings date=»2027-05-02″]
[orthocal_calendar open=»modal»]
[orthocal_fasting]
[orthocal_saints]
[orthocal_feasts limit=»5″]
[orthocal_memorial]
[orthocal_pascha year=»2027″]
[orthocal_fasts year=»2027″]
[orthocal_date]
[orthocal_texts]
[orthocal_troparia scope=»resurrection» tone=»1″]
[orthocal_kontakia scope=»weekday» weekday=»1″]
[orthocal_prayers]
[orthocal_magnifications]
[orthocal_horologion]
open=»inline|modal|page» задаёт способ открытия дня; reading_open=»inline|modal» — способ открытия чтений. Для отдельной страницы разместите на ней [orthocal_day] и выберите эту страницу в настройках. Параметры sections=»fasting,saints,readings,texts,icons», images=»0|1″ и heading=»0|1″ управляют содержимым. Конструктор в админке показывает параметры и результат.
image_size=»120″ задаёт высоту картинки поста в пикселях; ширина сохраняет пропорции исходного изображения. Существующие шорткоды со значениями small, medium и large по-прежнему используют высоты 28, 44 и 72 пикселя.
Справочная библиотека содержит первоначальный корпус из 98 церковнославянских текстов с источниками и ожидает богослужебной редакторской проверки. Она не назначает текст ежедневной службе автоматически. Акафисты запланированы в BibleDesktop и пока не подключены.
Общие параметры: lang=»ru|cu|de|uk|pl», profile=»typikon-strict|parish», theme=»book|modern|inherit», compact=»0|1″ и oldstyle=»0|1″. Часослов использует защищённый маршрут служб и включает вставки шестого часа. Пустая дата означает текущую дату в часовом поясе WordPress. Поддерживаются годы 1900–2200.
Фильтры ближайших событий: main (главные и поминальные), twelve (Пасха и двунадесятые праздники), great (великие), memorial (поминальные) и all (все). Поиск охватывает указанную дату и следующие 366 дней; выводится не более 10 событий.
Внешние сервисы
Календарный API: https://bible-desktop.com/api/v1/calendar/
Используется для расчёта дат, праздников, постов, памятей и ссылок на чтения. Загрузка блока, его предпросмотр в админке или изменение даты передают с сервера WordPress дату/период, язык, календарный профиль и параметры отображения/фильтрации. Публичные запросы включают X-Calendar-Client: orthocal-wordpress. Для обычного публичного использования регистрация и ключ не нужны.
Условия использования: https://bible-desktop.com/pages/api-terms
Политика конфиденциальности: https://bible-desktop.com/pages/api-privacy
API Bible Desktop: https://bible-desktop.com/api/
Используется для переводов Библии, книг, глав, богослужебных библиотек, житий и каталогов/изображений икон. При открытии чтений или библиотеки передаются выбранный перевод, книга/глава, язык, идентификатор произведения или параметры страниц и фильтров. При загрузке икон передаются календарные месяц/день либо идентификатор материала/изображения. При отсутствии данных в кэше WordPress загружает изображения и шрифты; плановая перепроверка кэша передаёт условные HTTP-заголовки. Bible Desktop рассчитывает календарь локально. Прежний ключ Kalendar никогда не передаётся новому поставщику.
Условия использования: https://bible-desktop.com/pages/api-terms
Политика конфиденциальности: https://bible-desktop.com/pages/api-privacy
Оба сервиса получают IP-адрес запрашивающего сервера, время запроса, запрошенный ресурс и технические HTTP-заголовки. Плагин не передаёт IP-адреса посетителей, имена, адреса электронной почты, пароли WordPress или содержимое записей. Удалённые медиафайлы кэшируются и раздаются локально. При наличии действующей записи кэша запрос может не выполняться. Полные тексты, иконы и жития не включены в ZIP; права на соответствующие материалы сохраняют силу.
Единый адрес API Bible Desktop можно изменить в настройках подключения. Эти ссылки описывают поставщиков по умолчанию; администраторы, выбирающие другого поставщика, должны изучить его условия использования и политику конфиденциальности и сообщить о них пользователям.
Кэш и доступ
Требуется обновлённый календарный API: upcoming, view=summary и заголовок X-Calendar-Application-Cache-TTL.
Успешные календарные ответы сохраняются не более чем на 300 секунд и только с разрешения API; отзыв доступа и изменения базы данных учитываются не позднее истечения этого срока. После ошибок устаревшие данные не используются. Ответы без разрешающего заголовка не сохраняются между запросами.
Библейские ответы сохраняются на выбранный срок: 0, 1, 6 или 24 часа (по умолчанию — 24). Директива no-store запрещает сохранение, если API отдельно его не разрешил. Браузер объединяет одновременные одинаковые запросы.
Локальные изображения и шрифты хранятся в uploads/orthocal-cache. Удалённые фотографии уменьшаются до 1200 пикселей по длинной стороне и сжимаются до размера не более 100 КБ перед сохранением. Условная проверка ETag/Last-Modified через WP-Cron выполняется раз в 6, 12, 24 или 168 часов (по умолчанию — 24). Изменённый файл получает новый URL с хешем, а последняя рабочая копия сохраняется при ошибке. Лимит кэша — 200 МБ; старые версии можно удалить в админке. Файлы медиабиблиотеки WordPress не затрагиваются.
Публичные маршруты REST ограничены фиксированными источниками и разрешённым списком параметров. Счётчики WordPress ограничивают обычный поток запросов; для строгой защиты от распределённого исчерпания квот настройте также ограничение частоты запросов на веб-сервере.
Если сайт использует полностраничный кэш, исключите страницы календаря либо задайте срок хранения не более 300 секунд и очищайте кэш в полночь по часовому поясу сайта. Иначе HTML может оставаться в кэше дольше данных API.
Сохранение настроек сбрасывает кэш плагина. Деактивация сохраняет настройки.
Возможности
22 динамических блока Gutenberg и шорткоды, отдельное меню плагина, конструктор с живым предпросмотром и копированием шорткодов, встроенная справка, серверный рендеринг HTML, переключение дат без перезагрузки, всплывающие окна, поиск по памятям дня, постоянные ссылки ?orthocal_date=YYYY-MM-DD, независимые блоки, три темы оформления, адаптивная вёрстка, стили для печати и навигация с клавиатуры.
Настройки, блоки Gutenberg, карточки дня и окно чтения поддерживают подписи на русском, немецком, украинском и польском языках; язык календарных данных и язык Библии выбираются отдельно. Переводы календаря могут быть неполными. Встроенные богослужебные тексты — церковнославянские; немецкие издания доступны по ссылкам. Отсутствующие данные никогда не заменяются другими иконами или житиями.
Скриншоты







Блоки
Этот плагин предоставляет 22 блока.
- Orthodox calendar: Orthodox calendar
- Orthodox calendar: Saints commemorations
- Orthodox calendar: Canons
- Orthodox calendar: Yearly calendar
- Orthodox calendar: Daily readings
- Orthodox calendar: Feasts
- Orthodox calendar: Upcoming feasts
- Orthodox calendar: Troparia
- Orthodox calendar: Yearly fasts
- Orthodox calendar: Horologion
- Orthodox calendar: Calendar day
- Orthodox calendar: Liturgical texts
- Orthodox calendar: Pascha
- Orthodox calendar: Akathists
- Orthodox calendar: Prayers
- Orthodox calendar: Fasting and meals
- Orthodox calendar: Memorial days
- Orthodox calendar: Monthly calendar
- Orthodox calendar: Today
- Orthodox calendar: Kontakia
- Orthodox calendar: New and old style date
- Orthodox calendar: Magnifications
Установка
- WordPress Плагины Добавить новый Загрузить плагин: orthocal-1.3.78.zip.
- Активируйте плагин.
- Календарь работает сразу после активации. Чтобы изменить адрес API Bible Desktop, откройте Georg-Kloster Calendar Workshop Подключение.
- Добавьте на страницу блоки из категории «Виджеты» или шорткоды.
Прежний ключ Kalendar не передаётся в Bible Desktop. Старые настройки сохраняются, но не используются для авторизации публичных календарных запросов. API календаря, текстов, переводов и икон настраивается в разделе Georg-Kloster Calendar Workshop Подключение. Адрес по умолчанию — https://bible-desktop.com; доступ к файлам для настройки не нужен.
Отзывы
Нет отзывов об этом плагине.
Участники и разработчики
«Georg-Kloster Calendar Workshop» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«Georg-Kloster Calendar Workshop» переведён на 3 языка. Благодарим переводчиков за их работу.
Перевести «Georg-Kloster Calendar Workshop» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
1.3.78
- Исходные строки PHP, JavaScript и блоков Gutenberg переведены на американский английский.
- Русский, немецкий, украинский и польский переводы сохранены с новыми английскими ключами.
- Различены контексты названий месяцев и дат; независимые языки блоков и текстов сохранены.
1.3.77
- Подключены подписи настроек, Gutenberg и окна чтения к gettext и переводам скриптов WordPress.
- Сохранены прежние переводы и добавлены полные каталоги на русском, немецком, украинском и польском языках.
- Язык каждого блока и язык богослужебного текста остаются независимыми от языка сайта.
1.3.76
- Показываются действительный год исторического издания и сведения об источнике сохранённых немецких молитв.
- Добавлена поддержка проверенных немецких утреннего, вечернего и причастного правил через существующие API.
1.3.75
- Номера зачал показываются только при однозначном точном совпадении координат источника.
- Варианты источников и неоднозначные кандидаты сохраняются без угадывания номера.
1.3.74
- Сохранённые старые ссылки на молитвы открывают полные канонические произведения.
- Добавлены группы молитв; фактические языки текстов указаны явно.
- Старые копии молитв сбрасываются; полные издания кэшируются с учётом редакции содержимого.
1.3.73
- Для публичных дат и IP-адресов клиентов снимается экранирование, выполняются очистка и проверка.
- Для Plugin Check пояснены навигация без изменения данных и необходимые механизмы взаимодействия с кэшем страниц и базой данных.
1.3.72
- Включены читаемые исходники JavaScript/CSS; описаны публичный репозиторий и порядок разработки.
- Перед отображением повреждённых данных внешнего API полностью проверяются даты постных периодов.
- Для всех transient-ключей ответов, периода ожидания и ограничения частоты запросов используется установленный префикс orthocal.
1.3.71
Все календарные запросы теперь используют настроенного поставщика Bible Desktop. Отдельный адрес API Kalendar и передача его ключа удалены. Декоративные наборы, знаки Типикона и шрифт Monomakh включены локально; шорткоды и галереи сохранены.
1.3.70
- Плагин переименован в Georg-Kloster Calendar Workshop; используется соответствующий Text Domain.
- Описаны запросы к внешним API; добавлены ссылки на условия использования и политику конфиденциальности поставщиков.
- Существующие блоки, шорткоды и настройки сохранены.
1.3.69
- Удалённые фотографии икон сжимаются до размера не более 100 КБ перед сохранением в WordPress.
- После обновления однократно удаляются полноразмерные файлы старых версий плагина.
1.3.68
- Адрес https://bible-desktop.com восстановлен как текущий адрес публичного API по умолчанию.
1.3.67
- Исправлена загрузка икон, когда настроенный публичный API возвращает изображения с отдельного медиадомена.
1.3.66
- В настройки плагина добавлен редактируемый адрес публичного API.
1.3.65
- Адрес календарного API вынесен в единое место.
1.3.64
- Лимит постоянного локального медиакэша увеличен с 64 МБ до 200 МБ.
- Плагин переименован в Orthodox Calendar – Workshop; Text Domain приведён в соответствие с его slug на WordPress.org.
- Версия WordPress, на которой плагин проверен, обновлена до 7.1.
1.3.63
- Text Domain локализации WordPress приведён в соответствие с одобренным slug плагина; добавлена версия WordPress, на которой плагин проверен.
1.3.62
- Исправлен Plugin URI для подачи в WordPress.org; теперь он отличается от URL автора.
1.3.61
- Настроенное количество икон ограничивает только карточки в блоке; каждая икона дня и все её изображения остаются доступными в галерее.
- Галереи икон плагина защищены от подмены всплывающими галереями темы.
- Добавлены русские и немецкие переводы заголовка плагина.
