Статьи

Руководство для начинающих по Titan Framework: добавление опции Enable Type

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

В 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 Type в опциях Neat

На приведенном выше снимке экрана показана опция 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 типа 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 .