Пропустить контент
Купить

Кастомные настройки

Создание шаблона настроек

  1. Создайте шаблон в папке templates/admin/tabs (название папки должно соответствовать разделу настроек)
  2. Для рендера частей шаблона используйте:
php
echo AJAX::render_form_parts(''); // Можно перегрузить через jQuery

Создание стандартных настроек

Добавление секции настроек

Ключ секции: my_section

php
add_filter('woocommerce_get_sections_iiko', function ($sections) {
    return array_merge($sections, [
        'my_section' => esc_html__('My section', 'iiko')
    ]);
}, 19);

Добавление полей в секцию

php
add_filter('iiko_fields', function (?array $settings, ?string $section) {
    $prefix = SettingsPage::PREFIX . 'table_';
    
    if ('my_section' === $section) {
        $_settings = [
            [
                'type' => 'title',
                'name' => __('Title', 'iiko'),
                'desc' => '',
            ],
            // Добавьте здесь другие поля настроек
        ];
        $_settings[] = ['type' => 'sectionend'];
    }
    
    return array_merge($settings, $_settings);
}, 19, 2);

Структура полей настроек

Основные параметры поля:

ПараметрТипОбязательныйОписание
typestringДаТип поля (text, select, checkbox и т.д.)
namestringДаНазвание поля
idstringДаИдентификатор поля
descstringНетОписание поля
defaultmixedНетЗначение по умолчанию

Примеры полей

php
[
    'type'    => 'text',
    'name'    => __('Название поля', 'iiko'),
    'id'      => $prefix . 'text_field',
    'default' => 'Значение',
    'desc'    => __('Описание поля', 'iiko')
]

Особенности реализации

  • Все настройки автоматически сохраняются в WooCommerce
  • Для префиксов используйте константу SettingsPage::PREFIX
  • Обязательно закрывайте секцию элементом sectionend

Внимание

При изменении структуры настроек убедитесь, что старые значения остаются доступными для миграции данных.

WOO2IIKO © 2019 - 2026 Алексей Тихомиров.