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 предварительного просмотра черновика страницы на сайте.
… код плагина …

Результат работы плагина

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