. Создание плагина wordpress – часть 1 | Makarou.com - когда сайты превращаются в бизнес

Создание плагина wordpress – часть 1

Сегодня мы с вами научимся азам программирования своих плагинов для wordpress, и по ходу урока создадим плагин для проверки позиций сайта в Яндексе по ключевой фразе.

Урок разделен на 4 части, чтобы было легче воспринимать и запоминать, что мы тут вообще делаем. :)

В первой части урока  мы рассмотрим стандартные функции: создание главных файлов, файла readme и т.д.

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

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

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

Ну что же, начнем. :)

Придумаем название для плагина (название должно быть уникальное). Уникальность названия можно проверить с помощью поисковика (Яндекс, Гугл). Я буду использовать название test-plugin. Создадим папку с названием плагина и в ней же создадим php файл с названием плагина (test-plugin.php). Это будет наш главный файл, который отвечает за основные функции плагина.

Открываем только что созданный php файл и пишем следующий комментарий в начале файла.


/*

Plugin Name: Test Plugin

Plugin URI: http://makarou.com/

Description: Let's go!

Version: 1.0

Author: So so Def

Author URI: http://makarou.com/

*/

Plugin Name – отвечает за название плагина.

Plugin URI – ссылка на плагин (откуда скачать и где осуществляется поддержка).

Description – описание плагина (что делает, для чего, почему).

Version – версия плагина.

Author – ну тут собственно имя разработчика плагина.

Author URI – ссылка на сайт разработчика.

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

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


/*

Copyright 2010 So so Def (email : makarou.com@gmail.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

*/

Ну, тут почти ничего изменять не нужно, только одну строку.


Copyright 2010 So so Def (email: makarou.com@gmail.com)

Изменяем год, имя и email на свои данные. В итоге у нас должен получится вот такой файл.


/*

Plugin Name: Test Plugin

Plugin URI: http://makarou.com/

Description: Let's go!

Version: 1.0

Author: So so Def

Author URI: http://makarou.com/

*/

/*

Copyright 2010 So so Def (email : makarou.com@gmail.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

*/

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


add_action('admin_menu', 'tp_add_tools_menu');

admin_menu – говорит функции, что мы будем добавлять ссылку на наш плагин в администраторское меню.

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

И так, рассмотрим следующую функцию. :)


add_submenu_page(parent, page_title, menu_title, access_level/capability, file, function);

add_submenu_page – эта функция создает подменю в уже существующем меню.

parent – название файла, которое отвечает за нужное нам меню (tools.php — Инструменты).

page_title – текст, который будет отображаться в html коде страницы в тегах title.

menu_title – название ссылки, в меню на плагин.

access_level/capability – минимальный уровень пользователя для доступа к плагину.

file – имя файла который обрабатывает отображение интерфейса плагина.

function – функция отвечающая за отображение интерфейса.

На основе этих данных пишем код подобный следующему, только с вашими данными.


function tp_add_tools_menu() {

add_submenu_page('tools.php', 'Test Plugin', 'Test Plugin', 10, basename(__FILE__), 'tp_manage_menu');

}

tp_add_tools_menu — функция, для чего она используется смотрим выше.

basename(__FILE__) – функция возвращает  имя текущего файла. Если функция, которая отвечает за отображение интерфейса плагина, находится в этом же файле (как и у меня), то смело пишем  basename(__FILE__) .

Теперь напишем саму функцию, которая будет отображать наш интерфейс.


function tp_manage_menu(){

echo'Hello World';

}

В итоге у вас должен получится вот такой по структуре файл (только с вашими данными).


/*

Plugin Name: Test Plugin

Plugin URI: http://makarou.com/

Description: Let's go!

Version: 1.0

Author: So so Def

Author URI: http://makarou.com/

*/

/*

Copyright 2010 So so Def (email : makarou.com@gmail.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

*/

add_action('admin_menu', 'tp_add_tools_menu');

function tp_add_tools_menu() {

add_submenu_page('tools.php', 'Test Plugin', 'Test Plugin', 10, basename(__FILE__), 'tp_manage_menu');

}

function tp_manage_menu(){

echo'Hello World';

}

Теперь можете сохранить файл и закрыть. Сейчас нам нужно создать файл readme по формату, который показан здесь.

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

Постовой

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

WordPress

Понравился пост? добавь его к себе в закладки:
Хочешь быть всегда в курсе обновлений блога? подписывайся через:
фото проституток новосибирска