DAstrolog - Personal Astrology Forecast
еталонний Enterprise-плагін для WordPress, який генерує високоточні індивідуальні щоденні астрологічні прогнози. Плагін розраховує транзити поточного дня до натальної карти користувача, використовуючи професійне математичне ядро швейцарських ефемерід (Swiss Ephemeris - `swetest`)
by Senior PHP Developer · github.com/aleksandrdikiy/wordpress-plugin-dastrolog · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/aleksandrdikiy/wordpress-plugin-dastrolog/archive/refs/heads/main.zipDAstrolog — це еталонний Enterprise-плагін для WordPress, який генерує високоточні індивідуальні щоденні астрологічні прогнози. Плагін розраховує транзити поточного дня до натальної карти користувача, використовуючи професійне математичне ядро швейцарських ефемерід (Swiss Ephemeris - swetest).
✨ Особливості (Features)
- 🚀 Астрономічна точність: Розрахунки положення планет виконуються через C-бінарник
swetest, що гарантує точність професійного рівня. - 📊 Інтерактивний Дашборд: Відображення транзитних аспектів у вигляді сучасної сітки карток (Grid), детальна інформація про фази Місяця та Місячні дні.
- ⚡ Висока продуктивність: Вбудована система кешування розрахунків (через Transients API) та AJAX-навігація без перезавантаження сторінок.
- 🛠️ Імпорт баз ZET: Автоматичний імпорт астрологічних баз даних (тексти транзитів, довідники орбісів/аспектів, описи місячних днів) з конфігураційним файлом
manifest.json. - 🤖 Telegram Бот: Автоматична щоденна розсилка короткого астрологічного прогнозу користувачам у Telegram (з можливістю індивідуального налаштування часу отримання).
- 🛡️ Enterprise Security: Строга MVC-архітектура, використання Prepared Statements, UPSERT-запити, Whitelist-санітизація, захист від CSRF (Nonces) та захист форм від спаму (Honeypot).
- 🎨 UI/UX: Адаптивний дизайн, "липка" (Sticky) панель навігації датами, інлайн-редагування довідників в адмін-панелі без перезавантаження сторінки.
⚙️ Системні вимоги
- PHP: 8.0 або вище.
- WordPress: 6.0 або вище.
- БД: MySQL 5.7+ / MariaDB 10.3+.
- Сервер: Linux/Unix середовище (Ubuntu, Debian, CentOS тощо) або Docker-контейнер.
- Функції PHP:
shell_execмає бути увімкнена (потрібна для звернення доswetest).
🚀 Встановлення (Installation)
1. Підготовка математичного ядра
Плагін використовує зовнішній виконуваний файл swetest.
-
Скомпілюйте
swetestз офіційного репозиторію Swiss Ephemeris для вашої ОС (make swetest). -
Помістіть скомпільований бінарник у директорію плагіна:
DAstrolog/bin/swetest. -
Надайте файлу права на виконання:
chmod +x wp-content/plugins/DAstrolog/bin/swetest -
Помістіть необхідні файли ефемерід (
.se1) у текуDAstrolog/ephe/.
2. Встановлення плагіна
- Завантажте теку
DAstrologу директорію/wp-content/plugins/вашого сайту. - Активуйте плагін через меню "Плагіни" в адмін-панелі WordPress.
🛠️ Налаштування та Імпорт даних
- Розмістіть ваші текстові бази даних (кодування UTF-8) у теці
assets/data/згідно з налаштуваннями уmanifest.json. - Перейдіть до панелі керування: DAstrolog ➔ Налаштування.
- Перевірте блок "Статус математичного ядра" — там мають бути дві зелені позначки (✅).
- По черзі натисніть кнопки імпорту:
- Імпорт довідників (Аспекти, Орбіси, Доми)
- Імпорт Інтерпретацій (Транзити)
- Імпорт Місячних днів
- Налаштування Telegram-розсилки (опціонально):
- Створіть бота через @BotFather у Telegram та отримайте API Token.
- Вставте токен у відповідне поле на сторінці налаштувань плагіна.
- Рекомендація для продакшену: Вимкніть стандартний WP-Cron (
DISABLE_WP_CRON) та налаштуйте системний Cron на сервері (wget -q -O - https://your-site.com/wp-cron.php?doing_wp_cron) для гарантованої своєчасної відправки повідомлень незалежно від відвідуваності сайту.
💻 Використання (Usage)
Для виведення астрологічного щоденника на фронтенді використовуйте шорткод на будь-якій сторінці чи записі:
[DAstrolog]
Примітка: Інтерфейс щоденника буде показано лише авторизованим користувачам.
🏗️ Архітектура (Project Structure)
Плагін побудований за модульними стандартами (MVC) для легкого масштабування:
DAstrolog/
├── DAstrolog.php # Головний файл (Bootstrap)
├── bin/swetest # Виконуваний файл розрахунків
├── ephe/ # Швейцарські ефемеріди (.se1)
├── includes/
│ ├── Core/ # Активатор, Деактиватор, Завантажувач
│ ├── Models/ # Робота з базою даних ($wpdb, CRUD)
│ ├── Controllers/ # Логіка Адмінки, Фронтенду, AJAX
│ └── Services/ # Бізнес-логіка (AstroCalculator, EphemerisManager)
├── views/ # HTML-шаблони (Views) без бізнес-логіки
└── assets/ # JS, CSS, JSON-маніфест та дані для імпорту
📝 Скріншоти
Головний дашборд прогнозу

📄 Ліцензія
Цей проєкт поширюється за ліцензією MIT. Ви можете вільно використовувати, змінювати та розповсюджувати його.