TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Шаблон настройщика тем – Условные параметры, дочерние темы и плагины

138

До сих пор мы видели, насколько просто обрабатывать параметры темы с помощью Boilerplate настройщика тем и его хуков. Как вы, наверное, помните, наиболее важным шагом было подключение к хуку фильтра thsp_cbp_options_array и передача ему массива параметров, которые вы хотите использовать в своей теме.

Я уверен, что вы уже знакомы с обработчиками действий и фильтров WordPress – Plugin API – и с тем, как они работают, но на всякий случай вот краткий обзор (на примере обработчиков фильтров). Вы можете определить свою пользовательскую функцию и подключить ее к существующему фильтру с помощью функции add_filter:

add_filter( $tag, $function_to_add, $priority, $accepted_args );

Сосредоточимся на аргументе приоритета. Его значение по умолчанию – 10, поэтому, если вы не используете другое число, это будет приоритет выполнения вашей функции. Чем меньше число, тем раньше будет выполнена ваша функция. Итак, если вы сделаете что-то вроде этого:

Когда вы вызываете функцию the_content в single.php или любом другом шаблоне, будет показано содержимое публикации, за которым следует Первое сообщение, а затем Второе сообщение. Не потому, что это их порядок в этом фрагменте кода, а из-за параметра приоритета выполнения. Думайте о крюках, как если бы они были снежками, катящимися с холма, собирающими на своем пути всякие вещи.

Как это применимо к шаблону настройщика тем?

Вы можете подключиться к thsp_cbp_options_array из файла function.php вашей темы, используя пользовательскую функцию (например, my_theme_options_array) со значением приоритета, установленным на 1. Это означает, что любая другая функция, которая подключается к обработчику фильтра thsp_cbp_options_array, будет делать это ПОСЛЕ функции my_theme_options_array вы уже определено. Взгляните на этот пример:

Это добавит новый раздел в настройщик тем с одним полем в нем, называемым My Radio Button. Затем вы или кто-то другой разрабатываете дочернюю тему для вашей темы и решаете сохранить новый раздел, но вместо My Radio Button может быть лучше иметь My Checkbox. Легко:

Заметили, что я не передал параметр $ options в my_theme_options_array, а сделал это в функции my_child_theme_options_array? Это потому, что когда я впервые подключился к хуку thsp_cbp_options_array, я хотел переопределить параметры образца шаблона Customizer Boilerplate. Затем, когда я снова подключился к нему из своей дочерней темы, я не хотел полностью удалять параметры родительской темы, а просто немного их редактировал. Вот почему я возился только с $ options [‘my_theme_new_section'] [‘fields'], а не со всем массивом $ options.

Конечно, вы также можете более одного раза подключиться к хуку фильтра thsp_cbp_options_array из родительской темы. Допустим, вы решили не добавлять в свою тему функции территории плагинов и позволить плагинам делать то, что они должны. Теперь вы хотите отображать некоторые параметры настройщика тем, только если активен определенный плагин. Опять же легко:

Хотите разработать плагин основной функциональности, который будет использоваться с вашей темой (как вам следует)? Вы также можете подключиться к thsp_cbp_options_array из одного из файлов вашего плагина, точно так же, как вы бы сделали это из файла function.php темы.

Не сходи с ума по варианту

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

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

Вы покупаете белую рубашку не потому, что приложив некоторые дополнительные усилия, вы можете превратить ее в скатерть, вы покупаете ее, потому что вам нравится ее «белоснежность». Темы WordPress тоже должны быть такими, они должны представлять контент определенным образом, а не пытаться делать все, что только можно вообразить. Если вы разработчик тем, ваша задача – убедиться, что ожидания пользователей соответствуют им.

Источник записи: https://www.wpexplorer.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее