Предоставление конечным пользователям возможности включать или отключать определенные функции премиум-плагина или темы довольно распространено. Titan Framework недавно выдвинул новую опцию в свое ядро, которая делает именно это. Давайте посмотрим, как вы можете добавить кнопку включения / выключения внутри панели администратора, метабокса или раздела настройщика темы с помощью Titan Framework (TF).
Опция Включить тип в Titan Framework
В Titan Framework есть опция enable типа для создания кнопок включения / выключения. На панели инструментов опция enable типа выглядит следующим образом:

Вот его параметры:
- name : назначает отображаемое имя опции типа
enable. - id : этот параметр указывает уникальное имя, которое получает сохраненные значения параметров.
- desc : добавлено краткое описание с названием опции.
- default : (необязательно). Назначает значение по умолчанию.
- enabled : (Необязательно) Это метка для кнопки включенного состояния. По умолчанию установлено значение «
Enabled. - disabled : (необязательно) Это метка для кнопки отключенного состояния. По умолчанию установлено значение
Disabled. - livepreview : (Необязательно) Каждый раз, когда вы добавляете
enableтипаenableв раздел настройщика темы, этот параметр позволяет вам в реальном времени просматривать сделанные вами изменения.
Все параметры являются string по типу, кроме значения по умолчанию, которое является boolean .
Доступные контейнеры для опции «Включить тип»
Вы можете добавить эту опцию внутри:
- Панель администратора
- Вкладка администратора
- Metabox
- Раздел настройки темы
Чтобы добавить параметр enable типа в этих контейнерах, выполните следующие действия:
- Получить экземпляр с помощью функции
getInstance(). - Создайте параметр с помощью функции
createOption(). - Получить сохраненные значения с помощью функции
getOption().
Если вы заинтересованы в том, чтобы научиться создавать эти контейнеры с помощью TF, прочитайте предыдущие статьи этой серии.
Создание параметра «Включить тип» внутри панели администратора
Пример объявления
Давайте сначала создадим эту опцию в админ-панели.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
<?php
/**
*
* Create enable type option in an Admin Panel
*
*/
$aa_panel->createOption( array(
‘id’ => ‘aa_enable_opt’, // The ID which will be used to get the value of this option
‘type’ => ‘enable’, // Type of option we are creating
‘name’ => ‘Allow Custom CSS’, // Name of the option which will be displayed in the admin panel
‘desc’ => ‘Enable/Disable Custom CSS’, // Description of the option which will be displayed in the admin panel
‘default’ => true // Default value of the option
) );
|
В строке № 8 я добавил enable типа enable через createOption() в административной панели $aa_panel . Поскольку эта функция занимает массив, я определил значения параметров name, type, id, desc и default . Значение идентификатора должно быть уникальным, т.е. aa_enable_opt . Значение по умолчанию установлено в true , что означает, что статус опции по умолчанию имеет значение « включено ».

На приведенном выше снимке экрана показана опция enable типа « Разрешить настраиваемый CSS» в аккуратной панели администратора.
Пример использования
Давайте получим сохраненные значения.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
// 2. Get the value via ID using getOption function
$aa_enable_opt_val = $titan->getOption( ‘aa_enable_opt’ );
/**
*
* Print saved value
*
*/
if ( 1 == $aa_enable_opt_val ) {
echo «Custom CSS in admin tab is On.»;
} else {
echo «Custom CSS in admin tab is Off.»;
}
?>
|
Чтобы получить сохраненное значение, сначала получите экземпляр с помощью функции getInstance() (строка № 3). Затем в строке № 6 getOption() извлекает сохраненное значение, регистрируя идентификатор параметра aa_enable_opt качестве его параметра. Я сохранил результат в новой переменной $aa_enable_opt_val . Затем я использовал проверку if-else которая печатает сохраненное значение во внешнем интерфейсе.
Теперь опция enable type может содержать два значения: 1/0 или true / false . Значение может быть равно «1» (включенное состояние) или «0» (отключенное состояние). Учитывая это, я написал строки с 15 по 20 кода, которые проверяют значение переменной $aa_enable_opt_val . Если это «1», то он печатает « Пользовательский CSS в админ-панели включен» во внешнем интерфейсе. Если значение переменной равно 0, тогда выводится « Пользовательский CSS в панели администратора отключен ».
Отображение результата во внешнем интерфейсе
Предположим, я включил эту опцию и сохранил ее.

Вот скриншот окончательного результата, который появился на переднем крае.

Создание параметра «Включить тип» на вкладке «Администратор»
Пример объявления
Далее я создам эту опцию на вкладке администратора.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
<?php
/**
*
* Create enable type option in an Admin Tab
*
*/
$aa_tab1->createOption( array(
‘id’ => ‘aa_enable_opt_in_tab’, // The ID which will be used to get the value of this option
‘type’ => ‘enable’, // Type of option we are creating
‘name’ => ‘Allow Custom CSS’, // Name of the option which will be displayed in the admin panel
‘desc’ => ‘Enable/Disable Custom CSS’, // Description of the option which will be displayed in the admin panel
‘enabled’ => ‘On’, // Label for the enabled option
‘disabled’ => ‘Off’ // Label for the disabled option
) );
|
Здесь я добавил эту опцию на вкладке администратора $aa_tab1 . Значением идентификатора является aa_enable_opt_in_tab . На этот раз я также определил новые метки для включенных и отключенных параметров.

На изображении есть опция enable типа на вкладке 1 панели Neat Options 2 . Также обратите внимание на вновь определенные метки « Вкл » для включения и « Выкл » для отключения.
Пример использования
Теперь я получу сохраненные значения.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
// 2. Get the value via ID using getOption function
$aa_enable_opt_in_tab_val = $titan->getOption( ‘aa_enable_opt_in_tab’ );
/**
*
* Print saved value
*
*/
if ( 1 == $aa_enable_opt_in_tab_val ) {
echo «Custom CSS in admin tab is On.»;
} else {
echo «Custom CSS in admin tab is Off.»;
}
?>
|
Код в значительной степени похож на то, что я написал выше. Итак, позвольте мне обобщить все шаги:
- Получить уникальный экземпляр с помощью функции
getInstance()в строке # 4. - Получить сохраненное значение с помощью функции
getOption()в строке № 7. - Напечатайте сохраненное значение во внешнем интерфейсе с помощью оператора проверки
if-elseв строках 15–20.
Отображение результата во внешнем интерфейсе
На этот раз я переключил опцию на Выкл . Внешний интерфейс печатает следующую строку:

Создание опции Enable Type внутри Metabox
Пример объявления
Теперь я создам enable типа enable в метабоксе.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
<?php
/**
*
* Create enable type option in a Metabox
*
*/
$aa_metbox->createOption( array(
‘id’ => ‘aa_enable_opt_in_metabox’, // The ID which will be used to get the value of this option
‘type’ => ‘enable’, // Type of option we are creating
‘name’ => ‘Allow Custom CSS’, // Name of the option which will be displayed
‘desc’ => ‘Enable/Disable Custom CSS’, // Description of the option which will be displayed
‘default’ => false // Default value of the option
) );
|
Здесь я добавил еще одну enable типа enable в метабокс $aa_metbox . Его идентификатор — aa_enable_opt_in_metabox . Значение по умолчанию установлено в false .

На скриншоте выше вы можете найти эту опцию в метабоксе. Он появляется на всех страницах и экранах редактирования постов.
Пример использования
Давайте получим сохраненное значение для этой опции.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
// 2. Get the value via ID using getOption function
$aa_enable_opt_in_metabox_val = $titan->getOption( ‘aa_enable_opt_in_metabox’, get_the_ID() );
/**
* Print saved value
*
*/
if ( 1 == $aa_enable_opt_in_metabox_val ) {
echo «Custom CSS in a metabox is enabled.»;
} else {
echo «Custom CSS in a metabox is disabled.»;
}
?>
|
Я написал почти тот же код снова. Единственное отличие можно увидеть в строке № 6. В функции getOption() существует новый параметр. Это get_the_ID() которая используется для получения определенной страницы или идентификатора записи.
Отображение результата во внешнем интерфейсе
Давайте снова включим опцию и сохраним ее. Внешний вид выглядит так:

Создание параметра «Включить тип» в разделе «Настройка темы»
Пример объявления
Наконец, я создам эту опцию в разделе настройщика темы.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
<?php
/**
*
* Create enable type option in a Theme Customizer Section
*
*/
$aa_section1->createOption( array(
‘id’ => ‘aa_enable_opt_in_sec’, // The ID which will be used to get the value of this option
‘type’ => ‘enable’, // Type of option we are creating
‘name’ => ‘Allow Custom CSS’, // Name of the option which will be displayed
‘desc’ => ‘Enable/Disable Custom CSS’, // Description of the option which will be displayed
‘default’ => false // Default value of the option
) );
|
Здесь я создал эту опцию в разделе настройщика темы $aa_section1 . Его уникальный идентификатор — aa_enable_opt_in_sec . Остальные параметры одинаковы.

На изображении выше есть опция типа enable в разделе настройщика темы под названием Мой раздел .
Пример использования
Используйте следующий код, чтобы получить сохраненные значения.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
// 2. Get the value via ID using getOption function
$aa_enable_opt_in_sec_val = $titan->getOption( ‘aa_enable_opt_in_sec’ );
/**
*
* Print saved value
*
*/
if ( 1 == $aa_enable_opt_in_sec_val ) {
echo «Custom CSS in a customizer section is enabled.»;
} else {
echo «Custom CSS in a customizer section is disabled.»;
}
?>
|
Еще раз, код точно такой же. Только ID и имена переменных различны.
Отображение результата во внешнем интерфейсе
Вот скриншот, который отображает изменения в режиме предварительного просмотра.

Вывод
С точки зрения конечного пользователя опция enable типа весьма полезна, так как вы можете включить или отключить любую из функций одним щелчком мыши. Так что пройдите этот урок и поделитесь своим мнением о нем в разделе комментариев.
На данный момент мы рассмотрели все, что можно рассказать о Titan Framework. Пожалуйста, не забудьте зайти на страницу серии, если у вас есть какие-либо вопросы или комментарии по любой из затронутых нами тем. Или не стесняйтесь обращаться ко мне в Twitter .