Как написать плагин для WordPress
Проще пареной репы! Не нужно быть семи пядей во лбу, достаточно начальных знаний PHP и API WordPress.
Плагин состоит как бы из двух частей: заголовка, по которому движок определяет, что это плагин и получает дополнительную информацию, и программной части.
Заголовок имеет вид
/* Plugin Name: Имя плагина Plugin URI: Адрес, по которому можно найти инструкцию и прочую инфу по плагину. Description: Краткое описание того, что плагин должен делать Author: Имя автора Version: Версия и, возможно, дата создания. Author URI: Сайт автора плагина */
и должен располагаться в начале файла плагина.
Программная часть в свою очередь имеет как бы две части: интерфейсную и собственно программу. В интерфейсной части описывается взаимодействие с API.
API WordPress представляет собой набор “хуков” - точек программного прерывания (крючков, на которых можно повеситься :)). Или, если по-простому, в специальных местах скриптов движка вызываются определенные пользователем функции. Хуки бывают двух типов: “действия” (action) и “фильтры” (filter). Разница в том, что “фильтры” могут быть вызваны в любом месте движка или плагинов, они принимают на вход какие-то данные, обрабатывают их и возвращают обратно. “Действия” вызываются по достижению определенного этапа выполнения программы, они ничего не возвращают, только выполняют какие-то операции. Список хуков ищите в Кодексе и в кодах движка.
Теперь простенький пример. Допустим, нам надо что-то поменять в тексте поста перед выводом. Для этого идеально подходит хук ‘the_content’. Привязываем свою функцию к этому хуку
add_filter('the_content','my_dummy_function');
Позаботьтесь о том, чтобы имя вашей функции было уникальным, т.е. не совпадало с именем какой-либо функции php, движка или другого плагина.
Теперь пишем саму функцию обработки.
function my_dummy_function($content) {
$content = str_replace('в', 'фф', $content);
return $content;
}
Получили на вход $content - обработали - вернули.
В результате объединения трех частей получаем
<?php
/*
Plugin Name: Dummy
Plugin URI: http://blog.portal.kharkov.ua/2009/05/09/plugin/
Description: Заменяет "в" на "фф"
Author: Ю.Б.
Version: V1.0
Author URI: http://blog.portal.kharkov.ua/
*/
add_filter('the_content','my_dummy_function');
function my_dummy_function($content) {
$content = str_replace('в', 'фф', $content);
return $content;
}
?>
сохраняем в файл, допустим, my_dummy_plugin.php, копируем его в папку /wp-content/plugins/, в админке активируем свой плагин и наслаждаемся результатам. Если, конечно, походя ничего не накосячили.
Не забываем, что <?php должно быть в самом начале файла, никаких пробелов, пустых строк, BOM и прочей ерунды перед ним быть не должно. После ?> - тоже. Кодировка - UTF-8.
Разумеется, эта микроинструкция не является полным и исчерпывающим руководством. Ее задача показать направление и избавить будущего плагинописателя от страха перед страшными словами плагин, API, хук и т.д.


