WP Manifestindependent plugin directory
manifest / editor / edu-staff

Edu Staff

WordPress plugin: staff management for educational organizations (Rosobrnadzor Order No. 1493)

by igor-blag · github.com/igor-blag/edu-staff

0stars
0forks

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/igor-blag/edu-staff/archive/refs/heads/main.zip

WordPress-плагин для управления сведениями о педагогическом составе и руководстве образовательной организации.

Разработан для выполнения требований Приказа Рособрнадзора № 1493 (разделы «Руководство. Педагогический состав»).

Возможности

  • CPT edu_staff_member — карточки сотрудников с classic meta boxes (не Gutenberg)
  • Таксономии: edu_staff_role (роль: педсостав / руководство / заместители / филиалы), edu_staff_position (должность), edu_staff_branch (филиал)
  • Метаполя: преподаваемые дисциплины, уровень образования, учёная степень, звание, повышение квалификации, профессиональная переподготовка, стаж, образовательная программа, телефон, email
  • Фото сотрудника — загрузка + серверный кроп через wp.media, хранение в отдельной папке wp-content/uploads/edu-staff-photos/
  • Block Bindings — привязка метаполей к Gutenberg-блокам на фронтенде
  • Block Patterns — готовые шаблоны карточек сотрудников
  • Gutenberg-блок edu-staff/grouped-list — динамический блок: список сотрудников по роли, сгруппированный по должности/филиалу. Поддерживает itemprop-микроразметку для парсера Рособрнадзора
  • Демо-данные — кнопки «Создать демо-данные» / «Удалить всё» в админке
  • Импорт сотрудников — загрузка данных из внешних систем по edu_external_id

Требования

  • WordPress 6.9+
  • PHP 8.0+

Установка

  1. Скопируйте папку edu-staff в wp-content/plugins/
  2. Активируйте плагин в админке WordPress
  3. Перейдите в Сотрудники → Добавить сотрудника

Метаполя и itemprop

Имена мета-ключей совпадают с itemprop-значениями из tags.json плагина edu-1493-microdata:

Метаполе itemprop Раздел
edu_teachingDiscipline teachingDiscipline employees
edu_teachingLevel teachingLevel employees
edu_degree degree employees
edu_academStat academStat employees
edu_qualification qualification employees
edu_profDevelopment profDevelopment employees
edu_specExperience specExperience employees
edu_teachingOp teachingOp employees
edu_telephone telephone managers
edu_email email managers

Структура

edu-staff/
├── edu-staff.php              # Точка входа
├── editor.js                  # jQuery + wp.media (кроп фото)
├── includes/
│   ├── cpt.php                # CPT + таксономии
│   ├── meta.php               # Метаполя + meta box
│   ├── photo.php              # Фото: meta box + кроп + хранилище
│   ├── bindings.php           # Block Bindings для фронтенда
│   ├── patterns.php           # Block Patterns
│   ├── demo.php               # Демо-данные
│   └── import.php             # Импорт из внешних систем
└── blocks/
    └── grouped-list/
        ├── block.json         # Метаданные блока
        ├── editor.js          # Редактор блока
        ├── render.php         # Серверный рендер + itemprop
        └── style.css          # Стили

Архитектура

  • Ввод данных — classic meta boxes (без Gutenberg в редакторе CPT). editor намеренно отсутствует в supports.
  • Вывод на фронте — страницы WordPress со slug employees и managers, содержащие блок edu-staff/grouped-list. Архивы CPT отключены (has_archive: false), чтобы плагин edu-1493-microdata корректно определял контекст микроразметки по slug страницы.
  • show_in_rest: true — обязательно для Block Bindings и REST API.

Совместимость

  • edu-1493-microdata — блок edu-staff/grouped-list добавляет itemprop-атрибуты в HTML-вывод
  • wp-term-loop — универсальный Term Query Loop, который в перспективе заменит grouped-list

Лицензия

GPL-2.0-or-later