Найти тему
Itprogers

Как создать собственный плагин WordPress с нуля

Оглавление

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

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

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

Бесплатные и платные плагины WordPress

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

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

Что вам нужно для создания плагина?

Чтобы создать собственный плагин и запустить его на своем сайте WordPress, вам понадобятся:

  • редактор кода
  • установка WordPress для разработки с копией вашего живого сайта для тестирования

Не тестируйте свой плагин на своем действующем сайте, пока не убедитесь, что он работает!

Типы плагинов WordPress

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

  • плагины обслуживания сайта для таких вещей, как безопасность, производительность или резервное копирование
  • плагины маркетинга и продаж для таких вещей, как SEO, социальные сети или электронная коммерция
  • плагины контента, такие как настраиваемые типы сообщений, виджеты, шорт коды, формы, галереи и видео потоки
  • Плагины API, которые работают с WordPress REST API или извлекают внешний контент из таких сервисов, как Google Maps.
  • Плагины сообщества, которые добавляют функции социальных сетей

… И многое другое! Чтобы получить представление о том, что могут делать плагины, каталог плагинов WordPress и посетите CodeCanyon рынок.

-2

Что входит в плагин?

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

В вашем плагине, вероятно, будут следующие элементы:

  • основной файл плагина (это обязательно)
  • папки для разных типов файлов
  • скрипты
  • таблицы стилей
  • включать файлы для организации кода

Давайте посмотрим на каждый из них.

Главный файл плагина

Основной файл плагина необходим. Это всегда будет файл PHP, и он всегда будет содержать закомментированный текст, который сообщает WordPress о вашем плагине.

Вот пример из плагина Akismet:

-3

-4

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

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

Структура папки

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

Папки в вашем плагине могут включать:

  • css или styles для таблиц стилей
  • scripts JavaScript
  • includes для включаемых файлов
  • templates для файлов шаблонов, которые выводит ваш плагин
  • assets для мультимедиа и других файлов активов
  • i18n для файлов интернационализации

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

-5

Скрипты и таблицы стилей

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

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

Включить файлы

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

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

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

Это самые распространенные элементы плагина. Мы видели на примере WooCommerce, что их может быть намного больше. Или в более мелких плагинах их может быть намного меньше. Но по мере того, как вы разрабатываете больше плагинов, вы обнаружите, что все больше и больше используете эти элементы.

Как запустить код вашего плагина:

Когда вы добавляете код в своем плагине, он ничего не будет делать, пока вы не активируете его каким-либо образом. Есть несколько методов, которые вы можете использовать для активации кода или получения кода из WordPress:

  • функции
  • хуки действий и фильтров
  • классы

Вот пример функции:

tutsplus_myfunction {

// code goes here

}

Чтобы напрямую вызвать эту функцию в своей теме, вам нужно просто ввести tutsplus_myfunction()место в файлах шаблона темы, где вы хотите, чтобы она запускалась. Или вы можете добавить его где-нибудь в своем плагине ... но вам также нужно будет активировать код, который его вызывает!

Создание вашего первого плагина за 4 шага

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

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

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

1. Создайте папку и файл плагина.

Даже если ваш плагин только начинается с одного файла, рекомендуется создать для него отдельную папку. Начните с создания папки в каталоге wp-content / plugins. Внутри него создайте файл PHP для вашего плагина.

Дайте им обоим понятное имя, включающее префикс. Я называю свою папку tutsplus-register-post-types и свой файл tutsplus-register-post-types.php.

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

-6

Теперь, если вы сохраните файл и перейдете на Плагины» экран на сайте разработки, вы увидите плагин на экране:

-7

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

2. Добавить функции

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

-8

Сюда входят все метки и аргументы для вашего типа сообщения и (что особенно важно) register_post_type()функция, предоставляемая WordPress.

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

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

add_action( 'init', 'tutsplus_register_post_type' );

Мы используем add_action()функцию, чтобы связать наш код с обработчиком действия с двумя параметрами: именем обработчика действия и именем нашей функции.

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

Теперь давайте добавим дополнительную функцию. Ниже кода, который вы написали, добавьте это:

-9

Теперь сохраните файл и посмотрите на экраны администратора. Теперь у вас есть рабочий плагин. Отлично сработано!

Давайте посмотрим, как вы можете это дополнить.

3. Добавление таблиц стилей и скриптов в очередь

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

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

Для этого вы создаете новую папку внутри папки вашего плагина с именем css . Внутри этой папки создайте таблицу стилей с именем style.css , или вы можете дать ей более конкретное имя для ясности. Я назову свой файл movies.css .

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

-10

4. Использование включаемых файлов

Другой вариант разработки плагина - создание дополнительных файлов PHP, известных как включаемые файлы. Если у вас их много, вы можете создать несколько папок для разных типов включаемых файлов или просто создать одну папку с именем includes .

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

Чтобы включить этот файл в свой плагин, вы добавляете в плагин папку с именем includes , а затем внутри этой папки вы добавляете content-movie.php файл .

include( plugin_dir_path( __FILE__ ) . ‘includes/movie-content.php' );

Дальнейшее развитие: возможности плагина

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

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