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;
}









