ОСНОВНОЕ

WORDPRESS

Операционные системы

Базы данных

Фреймворк Bootstrap

Сколько держав даже не подозревают о моем существовании! (Б. Паскаль).

5 способов сделать ваш плагин в WordPress действительно расширяемым

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 7 мая 2017

5 способов сделать ваш WordPress плагин действительно расширяемым

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

1. Использование функций поддержки темы

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

Но как использовать это в плагине?

Вы хотели бы проект, где вы просто можете удалить некоторые стили из плагина? И по какой-то причине, что не было возможно, не так ли? Ну, вы можете сделать это возможным в пределах вашего плагина!

Мы можем сделать уникальным наш стиль, только если текущая тема не поддерживает наши стили плагинов. Если тема была сделана с плагином и имеет необходимые стили, тема может иметь что-то подобное в своем коде:

 

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

 

Функция current_theme_supports будет возвращать true если текущая тема определила поддержку с помощью функции add_theme_support. Если тема не поддерживает стиль нашего плагина, мы поставим в очередь по умолчанию стиль плагина.

2. Переопределяемые шаблоны

Шаблоны представляют собой способ добавления своего собственного макета для разделов плагина. Чтобы сделать плагин более расширяемым, вы можете сделать возможным перезаписать свои шаблоны. Это можно сделать с помощью фильтра template_include.

 

Переменная $file фактически является переменной проверки. Если эта переменная не получает заполнять и выводиться false, мы будем возвращать оригинал $template. После этого мы проверяем, если мы на нашей собственной странице пользовательского типа поста или на странице, которая извлекается из настроек.

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

Если она заполнена, мы затем проверить шаблона в текущей теме. Так как мы добавили my-plugin/templates/, эти папки должны быть в теме. В противном случае, этот поиск будет возвращать false.

Если нет такого шаблона в текущей теме, мы строим путь к файлу в нашей папке плагина.

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

WooCommerce имеет свою собственную шаблонную систему, построенную в классе WC_Template_Loader который вы можете найти в файле includes/class-wc-template-loader.php. Если вы заинтересованы в изучении шаблонов, мы вам советуем посмотреть код в этом файле.

Еще один интересный подход можно найти в плагине SportsPress в своем классе SP_Template_Loader, вы можете прочитать код в файле includes/class-sp-template-loader.php.

3. Применить фильтры

Для того, чтобы ваш плагин был расширяемым, вы должны использовать API WordPress Plugin. Теперь мы узнаем о том, как использовать фильтр крючок и в следующем разделе, вы также увидите, как использовать действия.

Отличный пример того, почему фильтры полезны в собственном плагине, мы делали пример ранее. Если ядро WordPress не включает фильтр template_include, мы не смогли бы изменить шаблон.

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

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

Другие параметры передаются только для других функций, чтобы использовать их так, чтобы они могли расширить их. Давайте посмотрим пример из плагина Easy Digital Downloads. Этот плагин использует функцию apply_filters для фильтрации цены для товара в корзине.

 

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

4. Выполнение действия

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

Они используются для создания событий до или после того когда что – то случится. Для этого вы будете использовать функцию do_action. Чтобы узнать больше об этой функции, проверьте ресурс для разработчиков WordPress.

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

Я буду использовать Easy Digital Downloads снова для этого примера. Мы увидим, как этот плагин настроит действие после того, как покупка была завершена.

 

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

5. Шорткоды

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

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

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

 

Просто добавив третий параметр, WordPress будет вызывать фильтр , shortcode_atts_{$shortcode} где {$shortcode} заменяется третьим параметром.

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

 

Вывод

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

WordPress является действительно мощным и он построен вокруг Plugin API, так что вы легко можете сделать свой собственный плагин расширяемым или просто продлить другой.

Вы пробовали сделать свой плагин расширяемым? Или же вы просто создаете возможности за счет расширения других плагинов?

 


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close