Создание плагина для Wordpress – просто, как дважды два! | Seo-Stories

Создание плагина для WordPress – просто, как дважды два!

Как и обещал, сегодня выкладываю свои наработки и примеры по созданию плагинов WordPress, в частности, на примере моего виджета Best Video. Как я уже упоминал в первом посте, разработка плагина для нашего любимого движка не представляет абсолютно никаких трудностей, по крайней мере, со стороны WordPress API. Меня как человека, писавшего программы под WinAPI, крайне удивило взаимодействие CMS и ее расширений – нет, не сложными включениями или кодом в пол-страницы (к чему я уже привык в Windows и Linux :D ), а наоборот – своей детской простотой.

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

Самые любопытные уже посмотрели в код плагина (состоящего из одного-единственного файла bestvideo.php) и увидели, что создание плагинов и виджетов для WordPress действительно не представляет никаких сложностей, о чем недвусмысленно написали в комментариях. Кстати, код закомментирован и распространяется по лицензии GNU/GPL (о чем также написано в файле плагина), так что посмотреть как это работает может любой желающий :) По сути для того, чтобы создать виджет, необходимо лишь вставить в файл с расширением .php следующие строки:

<?php
/*
Plugin Name: My Plugin
Plugin URI: http://pluginsite.com/
Description: Описание Вашего плагина
Version: 1.0
Author: Vasya Pupkin
Author URI: http://yoursite.com/
*/

function my_plugin($args) {
extract($args); // Получение аргументов
$title=get_option(‘my_plugin_title’); // Получаем заголовок виджета
echo $before_widget; // Начало вывода виджета
echo $before_title; // Начало вывода заголовка виджета
echo (empty($title)? ‘Мой плагин’ : $title); // Вывод заголовка, если он не указан пользователем, используется заголовок “Мой плагин”
echo $after_title; // Конец вывода заголовка виджета
echo ‘Содержание виджета’; // Здесь выводится основное содержимое виджета
echo $after_widget; // Конец вывода виджета
}

function my_plugin_control() {
if (!empty($_REQUEST['my_plugin_title'])) {
update_option(‘my_plugin_title’, $_REQUEST['my_plugin_title']); // Обновляем заголовок виджета, запрошенный у пользователя с помощью текстового поля (смотри ниже)
}

/* Выводим элементы управления */
echo ‘Заголовок виджета:<br>
<input style=”width:200px;” type=”text” name=”my_plugin_title” value=”‘.get_option(‘my_plugin_title’).’” /><br />’; // Поле для ввода заголовка виджета
}

register_sidebar_widget(‘My plugin’, ‘my_plugin’); // Регистрируем виджет
register_widget_control(‘My plugin’, ‘my_plugin_control’ ); // Регистрируем элемент управления виджетом
?>

Вот, по сути, и все! Простейший виджет готов. Если Вы знаете PHP на самом минимальном уровне, без труда разберетесь в коде, да и новичку это будет не так уж и сложно, ибо код закомментирован наверное так полно, как только это возможно :) Достаточно просто вбить его в текстовый редактор с поддержкой UTF8 без BOM (например, Notepad++), сохранить в файл .php и добавить этот файл в zip-архив. Поздравляю, только что Вы создали свой первый плагин для WordPress! :)

Пожалуй, самая большая трудность в разработке – правильная организация и оптимизация кода. Например, в нынешней версии плагина Best Video это не столь важно, однако в скором времени мне скорее всего придется разложить код по полочкам – убрать несколько строк в функции и использовать массивы вместо переменных (по крайней мере, согласно моим идеям на ближайшую неделю, это будет удобнее). Кстати говоря, если Вы посмотрите вакансии программистов, в большинстве случаев даже WEB-приложения имеют очень сложную структуру. Работа в Москве в качестве PHP-разработчика требует высокой квалификации и, как правило, объектно-ориентированного подхода, которого вполне позволяет придерживаться PHP 5. Подобные умения в Вашем резюме (и главное – в Вашей голове) в дальнейшем очень сильно могут помочь Вам ;)

Но не будем уходить далеко от темы. Фактически, самое нудное в написании плагинов для WordPress – формализация. Необходимо создать файл readme.php, который никто и никогда не будет читать, выполнить перевод на английский язык и, возможно, сделать что-то еще. Как вариант, можно перевести плагин и на другие языки, но для виджета с парой-тройкой настроек это не столь необходимо. В этом плане меня очень позабавил плагин Hello, Dolly! (входящий в стандартную поставку WordPress) – в кодексе прямо так и написано: “хороший путь изучить устройство плагинов — смотреть в исходные PHP-коды хорошо написанных дополнений, таких как Hello Dolly”. Написан он может и неплохо, но вот элементарных “правил приличия” не соблюдает, что несколько сбивает с толку.

Ну вот, пожалуй, и все. Напоминаю, что много полезной информации можно найти в кодексе WordPress (как ни странно, есть неплохой объем информации на русском языке). Урок окончен, если что-то непонятно – спрашивайте, с радостью отвечу :)

Похожие статьи:

2 отзывов на “Создание плагина для WordPress – просто, как дважды два!”


b751b929

  1. Keanor пишет:

    Когда сайт делал на wp (не блог) увлекся написанием плагинов под него, сделать можно практически все что угодно – действительно мощная и простая система.
    А файл ридми.пхп нужен только если выкладывать свой плагин, если для себя пишешь достаточно только одного файла . Мне однажды page_htm помог понять некоторые вещи. А “привет долли” жестоко уничтожается сразу после инсталла :D

  2. zusicks438 пишет:

    Ну у меня этот плуг тоже сразу уничтожается на всех новых сайтах, самому пришлось его заново искать :D

    Ну readme да, именно для добавления на сервер WordPress.