Статьи

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

Добавление динамических параметров цвета в тему WordPress довольно распространено. Titan Framework позволяет создавать параметры цвета. Давайте посмотрим, как вы можете добавить палитру цветов внутри админ-панели, мета-блока или раздела настройщика темы, используя Titan Framework

В Titan Framework есть поле типа color которое выглядит следующим образом:

Добавление параметров типа цвета в Titan

Эта опция загружает всю цветовую палитру, из которой вы можете выбрать любой цвет по вашему выбору. Чтобы добавить эту опцию в Titan Framework, вам нужно узнать о параметрах, которые она содержит:

  • name : управляет отображаемым именем опции.
  • id : этот параметр назначает уникальное имя, которое используется для получения сохраненных значений параметров.
  • desc : Этот параметр добавляет краткое описание с названием опции.
  • default : устанавливает значение color по умолчанию.
  • livepreview : (Необязательно). Это помогает показать предварительный просмотр изменений в разделе настройщика темы.
  • css : (необязательно) автоматически генерирует CSS при добавлении color   опция внутри страницы администратора и / или раздела настройщика темы.

Одна вещь, которая является общей для всех этих параметров, это их тип, который является строкой .

Эта опция может быть добавлена ​​в такие области, как:

  • Панель администратора
  • Вкладки администратора
  • Мета Коробки
  • Разделы настройки темы

Выполните следующие шаги, чтобы создать опцию типа color внутри этих контейнеров:

  • Получить экземпляр с помощью функции getInstance() .
  • Создайте параметры с помощью функции createOption() .
  • Получить сохраненные значения с помощью функции getOption() .

Вы можете обратиться к моим предыдущим статьям, чтобы узнать о создании этих контейнеров.

Сначала я создам опцию color типа в панели администратора:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<?php
   /**
    *
    * Create the options
    *
    */
   $aa_panel->createOption( array(
 
       ‘id’ => ‘aa_color’, // The ID which will be used to get the value of this option
       ‘type’ => ‘color’, // Type of option we are creating
       ‘name’ => ‘My Color Option’, // Name of the option which will be displayed in the admin panel
       ‘desc’ => ‘This is our option’, // Description of the option which will be displayed in the admin panel
       ‘default’ => ‘#fffff’ // Default value of the option which will be displayed in the admin panel
 
   ) );

Я создал опцию color типа в админ-панели $aa_panel . Затем с помощью функции createOption() я добавил опцию типа color с идентификатором aa_color . Эта функция принимает массив параметров, которые поддерживает тип параметра. Поэтому параметры id, type, name, desc и default используются соответственно. Обратите внимание, что значение id, т.е. aa_color , всегда должно быть уникальным.

Палитра цветов

На приведенном выше снимке экрана показана опция color именем My Color Option в административной панели Neat Options .

Давайте получим сохраненные значения параметров.

01
02
03
04
05
06
07
08
09
10
11
12
<?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_color_val = $titan->getOption( ‘aa_color’ );
 
/**
 *
 * Print Admin panel options
 *
 */
 <h3> <?php echo $aa_color_val;

Чтобы получить сохраненные значения параметров, получите уникальный экземпляр с помощью функции get Instance() . Затем используйте getOption() и зарегистрируйте идентификатор параметра типа color в качестве параметра. Сохраните его значение в новой переменной $aa_color_val а затем $aa_color_val эту переменную во $aa_color_val интерфейсе.

Предположим, я выбрал любой цвет, например #cecece , и сохранил его значение.

Значение цвета Hex

Теперь, согласно коду, шестнадцатеричное значение выбранного цвета будет напечатано, как показано ниже.

Вывод палитры цветов

Позже в этой статье я также покажу, как этот параметр можно использовать в качестве свойства стиля.

Мы не будем печатать его в рабочей теме, но будем использовать его как встроенный стиль или автоматически создадим файл CSS с помощью Titan Framework, но об этом будет сказано позже в этой серии, и он выходит за рамки этого. статья.

01
02
03
04
05
06
07
08
09
10
11
12
<?php
    
   // Create options for $aa_panel2 inside the $aa_tab1
   $aa_tab1->createOption( array(
 
       ‘id’ => ‘aa_color_in_tab1_panel2’, // IDs should always be unique.
       ‘type’ => ‘color’, // Type of option we are creating
       ‘name’ => ‘My Color Option’, // Name of the option which will be displayed in the admin panel
       ‘desc’ => ‘This is our option’, // Description of the option which will be displayed in the admin panel
       ‘default’ => ‘#fffff’ // Default value of the option which will be displayed in the admin panel
 
   ) );

На этот раз я создал опцию color типа на вкладке администратора $aa_tab1 . Идентификатор этой опции — aa_color_in_tab1_panel2 , который должен быть уникальным.

Палитра цветов на вкладке

Вы можете найти color опцию внутри вкладки 1 административной панели Neat Options 2 .

Теперь я получу сохраненные значения параметров.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
// Value of tab.
$aa_color_in_tab1_panel2_val = $titan->getOption( ‘aa_color_in_tab1_panel2’ );
 
/**
 *
 * Print Admin tab options
 *
 */
 <div>
    Value of my color is : <?php echo $aa_color_in_tab1_panel2_val;
 </div>

Я получу экземпляр через функцию getInstance() а затем использую getOption() . Внутри этой функции (строка № 5) я ввел идентификатор aa_color_in_tab1_panel2 качестве ее параметра. В конце я создал div и распечатал сохраненное значение в текстовом виде.

На этот раз я выбрал #0bc47d как мое значение цвета. Итак, вывод будет напечатан так:

Вывод цвета из интерфейса с вкладками
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<?php
   /**
    *
    * Create the options for metabox
    *
    */
   $aa_metbox->createOption( array(
 
       ‘id’ => ‘aa_mb_color’, // The ID which will be used to get the value of this option
       ‘type’ => ‘color’, // Type of option we are creating
       ‘name’ => ‘My Color Option’, // Name of the option which will be displayed in the admin panel
       ‘desc’ => ‘This is our option’, // Description of the option which will be displayed
       ‘default’ => ‘#fffff’ // Default value of the option which will be displayed
 
   ) );

Теперь я создам опцию color типа в метабоксе $aa_metbox через createOption() . Идентификатор этой опции — aa_mb_color , который используется для получения сохраненных значений опций. Метабокс появляется на всех экранах редактирования сообщений / страниц.

Палитра цветов в метабоксе

Вы можете найти опцию типа color внутри метабокса, отображаемого в конце экрана редактирования страницы.

Далее я получу значения параметров.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
/**
 *
 * Getting Values.
 *
 * Notice the use of get_the_ID().
 * the post types we defined.
 * we need to give getOptions() function the ID of our post/page.
 *
 */
$aa_mb_color_val = $titan->getOption( ‘aa_mb_color’, get_the_ID() );
 
/**
 *
 * Print metabox options
 *
 */
 
<div class=»aa_content» style= «background: <?php echo $aa_mb_color_val; ?>;»></div>

Теперь этот код несколько отличается от кода, написанного для панели администратора и вкладки. Однако использование функций getInstance() и getOption() одинаково. Разница заключается в строке № 13, где getOption() содержит два параметра:

  • aa_mb_color , который является идентификатором опции типа цвета
  • get_the_ID() , которая возвращает идентификатор текущего сообщения / страницы / типа_поста

Далее посмотрите на строку № 19, где я использовал встроенные стили CSS внутри div. Это означает, что значение параметра типа color отображается как цвет на внешнем интерфейсе.

Я выбрал #ffff00 качестве шестнадцатеричного значения цвета и опубликовал страницу. Вот что я получил:

Вывод параметров в настройщик

Теперь вы можете видеть на скриншоте выше, что сохраненное значение отображается в виде цвета, а весь div меняет цвет фона.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
<?php
 
   /**
    *
    * Create the options for $aa_section1
    *
    */
    
   // Body bg color
   $aa_section1->createOption( array(
 
       ‘id’ => ‘aa_sec_body_bg_clr’, // The ID which will be used to get the value of this option
       ‘type’ => ‘color’, // Type of option we are creating
       ‘name’ => ‘Site Background Color’,// Name of the option which will be displayed in the admin panel
       ‘default’ => ‘#fff’ // Default value of our option
 
   ) );

Функция createOption() добавляет опцию color типа в раздел настройщика темы $aa_section1 . Идентификатор этой опции — aa_sec_body_bg_clr , который устанавливает цвет фона тела.

Установка цвета фона

На снимке экрана показана опция color именем » Цвет фона сайта» на панели настройки My Section .

В конце я получу сохраненные значения параметров.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
 
// Body bg color
$aa_sec_body_bg_clr_val = $titan->getOption( ‘aa_sec_body_bg_clr’ );
 
/**
 *
 * Print customizer options
 *
 */
 
<style>
/* —————————————————————————-
 * CSS values from customizer
 * ————————————————————————- */
    body{
        background: <?php echo $aa_sec_body_bg_clr_val;
     
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    a,
     
</style>

Все почти так же, за исключением того факта, что я получаю сохраненные значения с помощью внутренних стилей CSS внутри <style> (строки с 12 по 28). Строка # 16 показывает команду echo , которая печатает значение переменной $aa_sec_body_bg_clr_val .

На этот раз я выбрал #eeee22 как мое шестнадцатеричное значение для color . Итак, вот предварительный просмотр:

Результат настройки цвета фона

Цвет фона моего сайта изменен с #ffffff на   #eeee22 . Здорово!

Изображения играют важную роль в том, чтобы сделать ваш веб-контент привлекательным и привлекательным. Архитектура WordPress предлагает CPT (Custom Post Type) для добавления изображений через медиа-библиотеку. Но что, если вы хотите добавить загрузчик изображений в другом месте?

Существует несколько способов создания такой опции, в то время как Titan Framework также предлагает загрузчик изображений в качестве одного из типов этой опции. Итак, давайте посмотрим, как добавить параметр загрузки мультимедиа в админ-панели, в мета-поле или в раздел настройщика темы с несколькими строками кода.

В Titan Framework есть опция upload типа, которая добавляет различные форматы файлов изображений, например, jpg, jpeg, gif, png и т. Д. Это выглядит так:

Добавление параметров загрузки типа в Titan

Эта опция имеет следующий набор параметров:

  • name : этот параметр отображает название опции upload .
  • id : указывает уникальное имя, которое получает сохраненные значения параметров.
  • desc : добавляет однострочное описание с именем опции.
  • size : (Необязательно) Этот параметр определяет размер изображения, которое можно использовать внутри параметра css (будет объяснено позже). Он принимает только те значения, которые определены в аргументе $size функции wp_get_attachment_image_src() ( подробнее об этом ).
  • default : (Необязательно) Устанавливает изображение по умолчанию.
  • livepreview : (Необязательно) Вы можете найти предварительный просмотр изменений в разделе настройщика темы с помощью этого параметра.
  • css : (Необязательно). Он генерирует CSS при добавлении опции типа upload на странице администратора и / или в разделе настройщика темы.
  • placeholder : (Необязательно) Этот параметр отображает фиктивный текст, когда этот тип параметра пуст.

Опция upload типа может быть добавлена ​​внутри:

  • Панель администратора
  • Вкладки администратора
  • Мета Коробки
  • Разделы настройки темы

Если вы хотите узнать больше о создании этих контейнеров, просмотрите предыдущие статьи этой серии.

Однако этот параметр добавляется, выполнив следующие действия:

  • Вызовите функцию getInstance() .
  • Создайте тип параметра с помощью функции createOption() .
  • Получить сохраненные значения параметров с помощью функции getOption() .

Давайте напишем его код.

01
02
03
04
05
06
07
08
09
10
11
12
13
<?php
   /**
    * Create the options
    *
    * Now we will create options for our panel that we just created called $aa_panel
    *
    */
   $aa_panel->createOption( array(
       ‘id’ => ‘aa_img_id’, // The ID which will be used to get the value of this option
       ‘type’ => ‘upload’, // Type of option we are creating
       ‘name’ => ‘My Upload Option’, // Name of the option which will be displayed in the admin panel
       ‘desc’ => ‘This is our option’ // Description of the option which will be displayed in the admin panel
   ) );

Я добавлю опцию типа upload в админ-панели $aa_panel через createOption() . Эта функция принимает массив параметров, таких как id, type, name и desc . Держите ваши идентификаторы уникальными, так как они будут использоваться повсюду для извлечения сохраненных значений. Итак, идентификатор здесь aa_img_id .

Опция загрузки в опциональных опциях

На приведенном выше снимке экрана вы можете найти загрузчик изображений с именем My Upload Option в административной панели Neat Options .

Теперь я перейду к важной части: извлечению сохраненных значений параметров.

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_img_id_val = $titan->getOption( ‘aa_img_id’ );
 
 
/**
 * Print the value saved in aa_img_id option
 */
$aa_img_URL_val= ‘http://placehold.it/500×500’;
if ( is_numeric( $aa_img_id_val ) ) {
    $aa_img_attachment = wp_get_attachment_image_src( $aa_img_id_val );
    $aa_img_URL_val = $aa_img_attachment[0];
}
?>
   
    <h2>The image is shown below:</h2>
    <img src='<?php echo $aa_img_URL_val;

Процесс получения значений для параметра типа upload несколько отличается от параметров, которые я обсуждал ранее. Итак, позвольте мне объяснить его код.

Строки 3 и 6 очень похожи, где я вызвал функцию getInstance() для вызова уникального экземпляра, который предпочтительно является именем вашей темы (именно поэтому в моем случае neat ). Затем я использовал getOption() , в которой в качестве параметра записал идентификатор своей опции upload . Я сохранил его значение в переменной $aa_img_id_val .

Затем я использовал оператор if который вызывает функцию is_numeric() чтобы проверить, является ли значение $aa_img_id_val числом. Если это правда, то он обрабатывает код дальше.

Чтобы получить исходный URL-адрес нашего загруженного значения изображения через идентификатор вложения, я создал новую переменную $aa_img_URL_val (строка № 12), которой я назначил изображение-заполнитель (избегайте любого значения мусора и присваивайте ему демо-изображение-заполнитель).

Идентификатор вложения можно использовать для получения URL загруженного изображения; В этом отношении я использовал wp_get_attachment_image_src() WordPress (в строке # 14). Эта функция возвращает массив объектов изображения, который содержит значение src url изображения в позиции ‘0’ (подробнее об этом см. В Кодексе ).

Параметр $aa_img_id_val имеет идентификатор aa_img_id сохраненный в нем. Общий вывод этой функции сохраняется внутри новой переменной $aa_img_attachment .

Теперь, как мы знаем, wp_get_attachment_image_sr() возвращает src url в позиции ‘0’ массива, поэтому я определил ее точную позицию внутри массива, то есть $aa_img_attachment[0] (строка # 15). Затем я присвоил значение $aa_img_URL_val , который изначально $aa_img_URL_val изображение-заполнитель. Теперь $aa_img_URL_val имеет исходный URL выбранного изображения.

В конце (строка № 19) я просто напечатал изображение с помощью команды echo . Я рекомендую использовать здесь функцию esc_url() , которая экранирует URL вашего изображения. Я не буду вдаваться в подробности, потому что это выходит за рамки этой статьи. Но вот как вы можете изменить строку № 19:

1
<img src='<?php echo esc_url( $aa_img_URL_val );

Предположим, я загрузил это изображение и сохранил настройки.

Результат опции типа загрузки

Итак, вот как это выглядит на переднем конце.

Загрузка на интерфейс

Теперь я создам эту опцию на вкладке администратора.

01
02
03
04
05
06
07
08
09
10
<?php
   // Create options for $aa_panel2 inside the $aa_tab1
   $aa_tab1->createOption( array(
 
       ‘id’ => ‘aa_img_in_tab1_panel2’, // IDs should always be unique.
       ‘type’ => ‘upload’, // Type of option we are creating
       ‘name’ => ‘My Upload Option’, // Name of the option which will be displayed in the admin panel
       ‘desc’ => ‘This is our option’ // Description of the option which will be displayed in the admin panel
 
   ) );

aa_img_in_tab1_panel2 upload с идентификатором aa_img_in_tab1_panel2 создается на вкладке администратора $aa_tab1 .

Добавление загрузки на первую вкладку

Вы можете найти эту опцию во вкладке 1 административной панели Neat Options 2 .

Давайте получим сохраненные значения.

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_img_in_tab1_panel2_val = $titan->getOption( ‘aa_img_in_tab1_panel2’ );
 
 
/**
 * Print the value saved in option
 */
$aa_img_in_tab1_panel2_URL_val= ‘http://placehold.it/500×500’;
if ( is_numeric( $aa_img_in_tab1_panel2_val ) ) {
    $aa_img_in_tab1_panel2_attachment = wp_get_attachment_image_src($aa_img_in_tab1_panel2_val );
    $aa_img_in_tab1_panel2_URL_val = $aa_img_in_tab1_panel2_attachment[0];
}
?>
    <h2>The image in Tab 1 is shown below:</h2>
    <img src='<?php echo $aa_img_in_tab1_panel2_URL_val;

Я снова загрузил то же изображение и сохранил его. Похоже, что это на переднем конце:

Результат загрузки в интерфейсе с вкладками

Теперь я создам эту опцию в метабоксе.

01
02
03
04
05
06
07
08
09
10
11
12
13
<?php
   /**
    * Create the options for metabox
    *
    */
   $aa_metbox->createOption( array(
 
           ‘id’ => ‘aa_mb_img’, // The ID which will be used to get the value of this option
           ‘type’ => ‘upload’, // Type of option we are creating
           ‘name’ => ‘My Upload Option’, // Name of the option which will be displayed in the admin panel
           ‘desc’ => ‘This is our option’ // Description of the option which will be displayed in the admin panel
 
       ) );

Параметр типа upload создается внутри метабокса $aa_metbox помощью функции createOption() . Он появляется на всех страницах редактирования страниц / постов.

Добавление опции загрузки в мета-поле

На приведенном выше снимке экрана вы можете найти загрузчик изображений с именем My Upload Option в метабоксе в конце экрана редактирования страницы.

Используйте следующий код.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
// 1. Get the titan framework instance and save it to a variable
$titan = TitanFramework::getInstance( ‘neat’ );
/**
    Getting values for metabox
 */
 
/**
 *
 *
 * Notice the use of get_the_ID().
 * the post types we defined.
 * we need to give getOptions() function the ID of our post/page.
 *
 */
$aa_mb_img_val = $titan->getOption( ‘aa_mb_img’, get_the_ID() );
 
/**
 * Print the value saved in option
 */
$aa_mb_img_URL_val= ‘http://placehold.it/500×500’;
if ( is_numeric( $aa_mb_img_val ) ) {
    $aa_mb_img_attachment = wp_get_attachment_image_src($aa_mb_img_val );
    $aa_mb_img_URL_val = $aa_mb_img_attachment[0];
}
?>
    <h2>The image in Metabox is shown below:</h2>
    <img src='<?php echo $aa_mb_img_URL_val;

Давайте посмотрим на результат в интерфейсе:

Отображение результата загрузки на интерфейс

В конце я создам поле загрузки изображения внутри настройщика.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<?php
   /**
    *
    * Create the options for $aa_section1
    *
    */
 
   $aa_section1->createOption( array(
 
       ‘id’ => ‘aa_sec_img’, // The ID which will be used to get the value of this option
       ‘type’ => ‘upload’, // Type of option we are creating
       ‘name’ => ‘My Upload Option’,// Name of the option which will be displayed in the admin panel
       ‘desc’ => ‘This is our option’ // Description of our option
 
   ) );

upload типа upload отображается в разделе настройщика темы $aa_section1 . Его идентификатор — aa_sec_img .

Добавление параметров загрузки в настройщик

Вы можете найти поле загрузки на панели настройки My Section на рисунке выше.

Используйте следующий код для получения значений:

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’ );
 
// Sec Img
$aa_sec_img_val = $titan->getOption( ‘aa_sec_img’ );
 
/**
 * Print the value saved in option
 */
    
$aa_sec_img_URL_val= 0;
if ( is_numeric( $aa_sec_img_val ) ) {
    $aa_sec_img_attachment = wp_get_attachment_image_src($aa_sec_img_val );
    $aa_sec_img_URL_val = $aa_sec_img_attachment[0];
}
 
?>
    <h1>The image in Customizer Section is shown below:</h1>
    <img src='<?php echo $aa_sec_img_URL_val;

Давайте загрузим скриншот предварительного просмотра:

Просмотр в реальном времени загрузки файла

Вот и все!

Вариант цвета довольно легко реализовать с помощью Titan Framework. В следующих статьях я покажу вам, как автоматически сгенерировать CSS-файл с помощью этой опции или использовать его для создания предварительного просмотра.

Мы также рассмотрели, как ввести опцию загрузки с Titan Framework. Есть несколько способов использовать эту опцию в ваших плагинах или темах WordPress. Например, вы можете разрешить пользователям выбирать логотип или пользовательское фоновое изображение.

Пройдите через него, и если у вас есть какие-либо вопросы, оставьте их в поле для комментариев ниже, или вы можете поймать меня в Twitter .