Написание своего плагина для WordPress. Часть 1. Каркас плагина

Современные системы управления контентом (Content management system, CMS) или по-простому «движки» сайтов обладают достаточно мощным функционалом. Однако даже его далеко не всегда хватает, чтобы удовлетворить все требования пользователей. Поэтому большинство CMS имеют механизм расширения и изменения своих возможностей на основе плагинов. WordPress не исключение.

К слову, именно лёгкость расширения и изменения функционала при помощи механизма плагинов во многом определила его популярность.

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

Однако даже при всём многообразии готовый плагин для той или иной конкретной задачи можно подобрать далеко не всегда.

И тогда возникает необходимость написания собственного плагина.

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

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

Для этого откройте папку wp-content\plugins и создайте там отдельную папку, которая должна назваться также как и создаваемый плагин.

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

  • Имя_плагина.php – главный файл плагина;
  • readme.txt – файл readme. Он содержит информацию о плагине в стандартной форме. Если предполагается последующее размещение плагина в репозитории, его наличие обязательно;
  • assets – папка с подключаемыми файлами. Содержит подпапки css, img и js;
  • includes – папка с файлами php.

В случае, если плагин не имеет сложного пользовательского интерфейса или не содержит сложной программной логики, папки assets и includes могут отсутствовать и весь код плагина можно разместить в главном файле. Однако делать это крайне не желательно.

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

<?php
/*
Plugin Name: Название плагина
Description: Описание плагина
Version: 1.0
Author: Имя автора
Author URI: адрес сайта разработчика
Plugin URI: адрес страницы плагина
*/
?>

Если Вы пишите название или описание плагина на русском языке, то необходимо чтобы главный файл имел кодировку UTF-8.

Также «кодекс» WordPress требует указания лицензии в главном файле плагина. Обычно плагины распространяются по лицензии GPL либо совместимой с ней.

В качестве примера можно привести следующий текст для главного файла плагина.

<?php
/*
Plugin Name:  My First Plugin
Description: Мой первый плагин
Version: 1.0.0
Author: Стрелец Coder
Author URI: http://streletzcoder.ru
Plugin URI: http://streletzcoder.ru
*/
?>
<?php
/*  Copyright 2015  Стрелец Coder  (email: example@example.com)
  This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.  


This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   GNU General Public License for more details.


You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
?>

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

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

С подобных заготовок начинается написание любых плагинов для WordPress  независимо от сложности и решаемых задач.

После того как будет готов каркас плагина можно приступать к реализации его функционала. Но, это уже тема для отдельной статьи (и даже не одной).

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

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