Меню настроек темы в вашем WordPress

wpcode

Здравствуйте!

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

Представьте, что вы хотите разработать шаблон, у которого есть вшитый слайдер с разными эффектами появления картинок. Сразу появляется вопрос, как организовать настройки этих эффектов? Каждый раз залазить в файлы шаблона и менять, что-то в коде? Или один раз создать удобное меню в администраторской части сайта и потом в любой момент зайти и при помощи левой кнопки мышки легко и быстро настроить те самые эффекты слайдера!

 
Как добавить страницу настроек?
  1. Скачайте и распакуйте архив.
  2. Распакованную папку «temes_menu_avk» с файлами «themes_menu.class.php», «themes_options.php» и «style.css» поместите в папку с вашей темой.
    Внимание: После размещения папки «temes_menu_avk», путь до данной папки должен быть таким → вашсайт/wp-content/themes/ваша тема/ temes-menu-avk
  3. С помощью редактора откройте файл «functions.php».
  4. И в самом конце файла добавить вот такие строки:
    include_once "temes-menu-avk/themes_options.php";
    if(is_admin()){
        include_once "temes-menu-avk/themes_menu.class.php";
    }

Если вы сделали все правильно, то перейдя в «админ-панель ->внешний вид» вы должны увидеть закладку «Консоль название вашей темы».

Страница настроек

Как добавить свои настройки к теме?

Как вы могли видеть на скриншоте, после установки на странице настроек уже существуют закладки и некое меню настроек опций, это сделано умышленно, чтобы помочь вам с легкостью разобраться, как добавить свои закладки и меню настроек опций.

Чтобы добавить свои закладки или изменить существующие, откройте с помощью любого редактора файлов, файл «themes_options.php» и на 4-й строке вы найдете вот такой вот массив:

/** Массив закладок */
$tabssAVK = array( 'home' => 'Главная',
                   'general'  => 'Контейнер-1',
                   'mgeneral' => 'Контейнер-2',
                   'footer'   => 'Подвал');

Как вы видите, в массиве используются ключи и значения (пример: ‘home’ => ‘Главная’), ключ ‘home’, используется для определения какой массив настроек (его мы рассмотрим чуть ниже) необходимо использовать при выводе/сохранении закладки. Значение ‘Главная’ используется в названии закладки.

Массив настроек – это многомерный массив с 4-мя уровнями вложенности, поэтому, при добавление новых менюшек будьте внимательны к закрывающим скобкам и запятым! В файле «themes_options.php» на 11-ой строке начинается массив, который используется при выводе меню на закладке ‘Главная’:

/** Массив настроек */            
$optionsArr['home'] = array (
            array("type"  => "open",  "title" => "Всплывающие заголовки"),
            array("type" => "select",
                  "id" => $shortname.'_tip_title',
                  "std" => "Включено",
                  "option"=>array('Включено','Выключено')),
     	    array("type" => "label",
                  "id" => $shortname.'_tip_title',
                  "desc" => "Описание функциональности меню.")
            array("type" => "close"),
...
);

У переменной $optionsArr присвоен ключ ‘home’, этот ключ должен быть идентичен ключу закладки, на которой вы хотите выводить данное меню! Что есть, что во вложенных массивах не трудно догадаться, я лишь хочу обратить ваше внимание на присутствующий выбор выводимых элементов форм, на примере того же массива ‘home’ в котором находится следующий вложенный массив:

array("id" => $shortname.'_tip_title',
      "type" => "select",
      "std" => "Включено",
      "option"=>array('Включено','Выключено'))
  • id – должен быть никален для каждого меню.
  • type – может иметь следующие значения: «text», «textarea», «select», «checkbox», «radio», «label», «label». Так как html тег «select» и input с атрибутом type="radio" имеют множественные значения, то для них необходимо в массиве создать дополнительный параметр с ключом «option» и значениями в виде массива.
  • std – значение по умолчанию.
  • desc – описание опции.

Чтобы получить сохраненное значение настройки, в нужном месте шаблона, нужно вызвать функцию get_option с переданным id настройки в виде параметра.

global $shortname;
$temp = get_option($shortname.'_tip_title');
if($temp == 'Включено'){
//выполняется какой-то код
}



Оставить комментарий

Чтобы оставить комментарий Вам необходимо авторизоваться.