Современная разработка тем с крючками действий

Современная разработка тем с крючками действий
Разработка отличных тем WordPress — настоящая задача. Но даже кажущаяся простой настройка существующих тем может довольно быстро стать довольно сложной.

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

Крючки действий WordPress — введение

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

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

Витрина WooCommerce Тема
Добро пожаловать в новый и чистый мир тем.

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

Тема WordPress Action Hooks Datei
Тематика с крючками действия доведена до кипения. Файл темы не должен содержать больше, чем это.

Здесь один хук действия заботится об отображении содержимого звездной страницы.

Принцип действия хуков WordPress

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

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

Большое преимущество этого типа разработки темы

Теперь вы, вероятно, спросите себя, в чем польза такого развития. Ответ очевиден. Помимо ясности отдельных шаблонов, есть еще одно непревзойденное преимущество:

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

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

  • Четкие структуры
  • Абсолютная ясность
  • Все функции в одном месте
  • Не требуется настройка отдельных файлов темы

Как работать с хуками действий WordPress

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

Шаг 1: На что следует обратить внимание

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

Тема Storefront служит здесь хорошим примером, так как вы найдете все функции шаблона в папке / вкл. в файле storefront-template-functions.php. Я также рекомендую настроить такой файл. Папка / вкл. это правильное место для этого файла.

Однако вам все равно нужно сообщить WordPress о существовании файла. Одна строка кода в functions.php убедитесь, что ваш файл загружен:

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

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

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

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

Глава 2: Определение хука действия WordPress

Определите свой крючок в скобках. Например, это можно было бы назвать так:

Если вам нужно разделить слова, используйте символы подчеркивания вместо дефисов.

Теперь поместите этот хук в файл темы, где вы хотите, чтобы функция была. Вы не ограничены здесь, и вы можете использовать свои крючки действий практически где угодно. До или после содержания, до или после заголовка или комментариев, например. Одним из примеров является Storefront single.php:

Die single.php des Storefront-Theme veranschaulicht gut die Möglichkeiten der Hooks.
Файл single.php темы Storefront — хорошее отображение возможностей хука.

Шаг 3: Работа с хуками действий WordPress

Давайте еще раз возьмем стартовую страницу темы Storefront в качестве примера. Вы быстро поймете, что работать с крючками довольно легко. Вот еще раз крючок стартовой страницы:

Теперь напишите свои функции в файле, который вы для этого создали.

После этого ваша функция подключается и перемещается в соответствующее место:

Теперь ваша функция появится на стартовой странице. Сначала напишите хук действия, затем введите имя функции в add_action() ярлык. Это так просто.

Шаг 4: Один хук, много функций

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

Die template-homepage.php Дата на витрине магазина.
Файл домашней страницы темы Storefront.

Семь функций используют один хук действия. Это возможно благодаря приоритетам, которые появляются за каждой перехваченной функцией. Здесь, в примере, это диапазон от приоритета 10 до приоритета 70.

Эти числа определяют порядок выполнения функций. Десятка появляется вверху, 70 — в самом низу. Распределяем приоритеты с add_action() ярлык:

Просто скользящие функции между ними

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

Теперь из-за приоритета ваша пользовательская функция отображается между содержимым главной страницы Витрины и категориями товаров.

WooCommerce: добавление кнопок «Поделиться» без изменения шаблона

Каждый владелец магазина WooCommerce хочет добавить важные кнопки «Поделиться» на дисплей отдельного продукта. Благодаря крючкам действий это можно сделать за несколько минут. Соответствующий файл, к которому мы подключаем наши кнопки общего доступа, share.php.

Разделите share.php с Action Hook, не используя кнопки Share-кнопки.
Файл share.php с хуком действия, на который мы цепляем наши кнопки «Поделиться».

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

Функция, необходимая для интеграции в представление одного продукта, будет выглядеть так:

Поскольку подключается только одна функция, определение приоритетов не требуется.

Результат:

Share-кнопки в der Richtigen Stelle ohne die Template-Datei angefassst zu haben. Идеально!
Поделитесь кнопками в нужном месте, не касаясь файла шаблона. Идеальный!

Заключение

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

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