Разработка плагина-дополнения для ACF для ведения родословной животных

Цена договорная
12 июля 2019, 17:14 • 2 отклика • 29 просмотров
Здравствуйте. Меня интересует разработка плагина-дополнения для ACF для ведения родословной животных.

Под каждого типа животного создается свой пользовательский тип записи (Has Archive: False, Hierarchical: False). Например для мышей - "mice".

Далее с помощью плагина ACF я создаю различные поля, среди которых обязательным для заполнения является поле "Пол" ("gender"):
Тип поля: Выбор (Select)
Варианты: "female : Самка" и "male : Самец"
Возвращаемый формат "Оба (массив)"

Мне необходимо создать для ACF новую группу полей:
Название "Родословная"
1. "Мать" - выпадающий список из всех страниц с животными женского пола - аналог Объекта записи
2. "Отец" - выпадающий список из всех страниц с животными мужского пола - аналог Объекта записи
3. "Дети" - выпадающий список из всех страниц с животными обоих полов - аналог Объекта записи
4. "Вывод родословной" - это группа полей, по функционалу см. ниже

Особенности данных полей:
Если страниц из которых можно было бы выбрать мать, отца или детеныша нету, то их можно создать прямо из текущей страницы. Как только такая страница создастся, то она автоматически "привяжется" к текущей. А текущая привяжется к созданной. Например мы создаем страницу матери и добавляем детеныша. Когда заходим на страницу детеныша, то видно что в строке "Мать" указана наша первая страница.

Каким образом добавляем новых животных.
Рядом с выпадающим списком у "Мать", "Отец" и "Дети" должна быть кнопка "Создать страницу"
После нажатия появляется всплывающее окно (как при добавлении плагинов нажать на "Детали")
Заголовок данного окна "Создать страницу "Мать" ("Отец" или "Детеныш - в зависимости от кнопки)
Если создаем страницу матери, то пол должен быть автоматически выбран "Самка", если отца - "Самец", если детеныша, то пол необходимо указать вручную - и также является обязательным полем.

Ниже поля "Пол" должны быть иные поля ACF, которые были зарегистрированы ранее в Группе полей для данного типа записи (у разных типов животных будут разные поля). После нажатия на синюю кнопку "Создать страницу" создается соответствующая страница, а в поле рядом с которым мы нажимали кнопку заполнено именем из новой созданной страницы.

Вывод родословной.
Под полями с родителями и детьми должно выводиться группа полей "Вывод родословной".
В данной группе мы указываем число поколений, которое будет показываться на странице данного животного. Например: 1 - показываем только мать и отца, 2 - мать, отец, бабушки, дедушки, т т.д.
Также указываются поля ACF для данного типа записей, которые будут указываться в ячейках таблицы родословной.

Все указанные выше действия необходимы для вывода непосредственно на странице (во фронтенде) животного таблицы с родословной, которую, также необходимо создать. Данная таблица должна автоматически подхватывать и отображать данные о родителях и их родителях и т.д.
Файлы