Closed sergey-s-betke closed 10 years ago
Итак... Различаем объекты опции (option
) и настройки (setting
). Последние - определяем в admin-part, и связываем с опциями исключительно через идентификаторы. И именно в последних мы должны определить и санитизаторы, и представление (view
) для этих настроек на странице настроек.
Но и сам объект страницы настроек мы должны объявить явно.
Для страниц настроек так же необходимо определить и части страниц, которые могут быть подгружены отдельно (из отдельных файлов, разделяемых несколькими плагинами, в частности - для целей редактирования "общих" опций (#24)).
Кроме того, части страниц необходимы и для того, чтобы встраивать свои разделы в существующие страницы консоли администратора, не собственные для плагина.
Реализовал #20.
Теперь пора приступать к отображению и редактированию опций...
Для того, чтобы связать опции с их представлением потребуется построить коллекцию опций в объекте плагина по аналогии с коллекцией компонентов.
В конструктор представления будем передавать идентификатор опции - option_name
. Связь представления и опций - через экземпляр плагина.
Но для этих целей имеет смысл создать потомка плагина - плагин с опциями (потому как есть плагины и без опций). И в компонентах - опциях стоит в таком случае проверять, а реализует ли плагин интерфейсы управления опциями (в degug среде).
Секции страниц параметров следует связывать с объектом страницы параметров через конструктор (в конструктор страницы передавать объекты секций).
Кроме того, необходимо дать возможность в конструкторе страницы параметров указать идентификаторы секций, которые должны быть отображены на этой странице (для отдельно подгружаемых секций из отдельных разделяемых в общем случае с другими плагинами файлов).
В свою очередь, в конструкторе секции страницы настроек необходимо предусмотреть возможность указать идентификатор страницы настроек, на которой эта секция должна быть отображена (для тех случаев, когда мы реализуем в плагине раздел существующей страницы настроек, а не собственной (плагина)).
Отображения опций всегда будем передавать в конструктор секции страницы настроек, иных вариантов связи предусматривать не стоит.
Реализовал #19 для напоминания после установки плагина о необходимости проверки его параметров.
Пришло время добавить визуальные элементы в секции страниц настроек.
Для этого необходимо кроме собственно классов и интерфейсов отображений создать и API валидаторов полученных значений.
Описанную задачу выделилив #26, эту задачу закрываю.
http://codex.wordpress.org/Settings_API