Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress

Добавление Действий в Фреймворк Вашей WordPress Темы

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called How Theme Frameworks Actually Work.
Creating the Starting Files for Your WordPress Theme Framework
Adding Functions to Your WordPress Theme Framework

Russian (Pусский) translation by Narine Hovhannisyan (you can also view the original English article)

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

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

Заметка: Если, прежде чем приступить, вам необходимо узнать больше о действиях и фильтрах, то этот урок вам поможет.

Что Вам Понадобится

Для этого урока вам понадобится:

  • установленный для разработки WordPress
  • ваша собственная тема или файлы темы из Части 3 этой серии уроков, которые вы можете найти на репозитории GitHub для сопровождения этих уроков
  • кодовый редактор

Добавление Хуков в Header

Мы собираемся добавить два хука в header: один до него и один внутри.

В header.php, непосредсвенно внутри открытого тега <body>, добавьте первое действие:

Этот хук может быть полезен для добавления контента, меню или ссылок над header сайта.

Добавьте другой хук внутри header, справа. Ваши дочерние темы могут использовать его для добавления пользовательского контента, формы для поска или виджетов.

Заметьте, что я заключила этот хук внутрь div с парой классов, которые будут работать с объектно-ориентировааным стилем в моей теме - если вы работаете с вашей собственной темой, вам нужно будет использовать что-то другое, но сам хук будет тем же.

Добавление Хуков Контенту

Тема будет включать два контентных хука - один до цикла и открывающийся после него, оба внутри #content div. К счастью, из-зи того, как моя тема устроена, я должна добавить каждый хук один раз, я открываю этот div в файле header.php и закрываю его в sidebar.php и page-full-width.php файле - он добавлен к шаблону страницы в полную ширину, потому что это не дает запрос на боковую панель.

Начнем с того, который находится до цикла.

В конце header.php, добавьте следующее непосредственно в открывающийся #content div:

Это обеспечит хук для всего, что находится внутри контента, но над циклом.

Дальше, в sidebar.php, сразу до закрытия #content div, добавьте этот код:

Наконец, добавьте тот же код в шаблон page-full-width.php так же, как вы это сделали в sidebar.php, опять же до закрытия #content div.

Добавление Хуков к Боковой Панели

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

Замените весь код для виджет зоны на новый хук:

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

Добавление Хуков к Footer

Наконец, вам нужно добавить пару хуков к footer: один внутри него и один под ним, которые будут использованы для колофона.

Внутри элемента footer поменяйте весь код на хук:

Дальше, добавьте другой хук для колофона, после закрытия элемента footer:

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

Заключение

Использование хуков в ваших файлах шаблонов даст вам и пользователям вашего фреймворка больше гибкости. Вы сможете использовать их где угодно для внесения любого вида контента и для изменения или удаления контента, все это без создания новых файлов шаблонов.

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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.