Предоставление конечным пользователям возможности включать или отключать определенные функции премиум-плагина или темы довольно распространено. 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 .