page_edit
Позволяет добавлять дополнительные поля в форму редактирования настроек информационной страницы.
Доступно начиная с версии фреймворка 1.1.1.
Блог
Входящие параметры (передаются по ссылке)
$params['url'] string URL страницы.
$params['url_decoded'] string URL страницы с использованием символов национального алфавита, преобразованный из Punycode-записи в Юникод.
$params['page'] array Ассоциативный массив свойств редактируемой страницы из таблицы базы данных blog_page.
$params['preview_hash'] string Строковый ключ для использования в URL предварительного просмотра черновика страницы на сайте.
$params['url_decoded'] string URL страницы с использованием символов национального алфавита, преобразованный из Punycode-записи в Юникод.
$params['page'] array Ассоциативный массив свойств редактируемой страницы из таблицы базы данных blog_page.
$params['preview_hash'] string Строковый ключ для использования в URL предварительного просмотра черновика страницы на сайте.
… код плагина …
Результат работы плагина
{$page_edit.%plugin_id%}
HTML-код для отображения дополнительных полей настроек страницы.
Блог
Пример кода плагина
PHP
public function pageEdit($params) { $fields_values = blogMyPlugin::getFieldsValues($params['page']['id']); $fields = [ 'field1' => [ 'control_type' => waHtmlControl::INPUT, 'title' => _wp('Field 1'), ], 'field2' => [ 'control_type' => waHtmlControl::TEXTAREA, 'title' => _wp('Field 2'), ], ]; $html = array_reduce( array_keys($fields), function ($result, $field_name) use ($fields, $fields_values) { $result .= waHtmlControl::getControl($fields[$field_name]['control_type'], $field_name, $fields[$field_name] + [ 'control_wrapper' => '<div class="field"><div class="name">%s</div><div class="value">%s%s</div></div>', 'title_wrapper' => '%s', 'namespace' => 'myplugin', 'value' => ifset($fields_values, $field_name, ''), ]); return $result; }, '' ); return $html; }