Публикация в группе: Плагин WP-Recall - Личный кабинет на WordPress

Категории группы: Полезное

Внимание! Данная инструкция устарела, использовать ее в качестве руководства к действию нельзя!

Новый порядок добавления опций описан в статье.

_____________________________

Это устаревший порядок формирования опций к плагину и дополнениям, еще более старый описан в статье.

! Так как построение массива опций к плагину и его дополнениям используют функционал произвольных полей плагина WP-Recall и если вы с ним не знакомы, то перед прочтением этот статьи рекомендуется ознакомиться с его описанием.

Основы

Для того, чтобы иметь возможность добавить свой набор опций на страницу настроек плагина WP-Recall и его дополнений, следует использовать фильтр 'admin_options_wprecall'. Общий принцип добавления своих опций выглядит так:

add_filter('admin_options_wprecall','my_addon_options');
function my_addon_options($content){

    $opt = new Rcl_Options(__FILE__);

    $content .= $opt->options(
        __('Общий заголовок блока опций'), 
        array(
            $opt->options_box(
                __('Заголовок первого блока','wp-recall'),
                array(
                    //массив первой опции
                    //массив второй опции
                    //массив третье опции
                )
            ),
            $opt->options_box(
                __('Заголовок второго блока','wp-recall'),
                array(
                    //массив первой опции
                    //массив второй опции
                    //массив третье опции
                )
            )
        )
    );
	
    return $content;
}

Массив каждой опции это стандартный набор произвольных полей, описанный в статье о произвольных полях плагина WP-Recall, но для опций можно указывать некоторые дополнительные параметры:

  • help - выводит вопросительный знак, при нажатии на который появляется диалоговое окно с указанным текстом
  • childrens - массив дочерних опций
  • group - группировка значений опций внутри массива

Особо полезным из которых может быть 'childrens'. Этот параметр содержит массив дочерних полей, с указанием значения при котором дочерние поля будут появляться, например:

array(
    'type' => 'select',
    'title'=>__('Родительская опция'),
    'slug'=>'option_name',
    'values'=>array(
          0 => __('Не выбрано'),
          1 => __('Первое'),
	  2 => __('Второе')
	),
    'childrens' => array(
        1 => array(
            array(
                'type' => 'text',
                'title'=>__('Дочерняя опция 1'),
                'slug'=>'child_name1'
            )
        ),
	2 => array(
            array(
                'type' => 'text',
                'title'=>__('Дочерняя опция 2'),
                'slug'=>'child_name2'
            )
        )
    )
)

Здесь приведен массив родительской опции, для которой были указаны две дочерние опции через параметр 'childrens'. Этот параметр содержит указание, что при выборе значения "Первое" родительской опции будет предложена к заполнению первая дочерняя опция, а при выборе значения "Второе" - вторая дочерняя опция, т.е. значение ключа массива дочерних опций соответствует значению родительской опции при которой дочерние опции будут появляться. В свою очередь внутри дочерних опций также можно объявить свои дочерние опции и они также будут работать.

4

Автор публикации

не в сети 13 часов

Андрей CS

12K
рассматриваю задания
Комментарии: 2742Публикации: 481Регистрация: 30-11--0001Продаж/Покупок: 0/0