Как создать простой виджет в WordPress



Как создать простой виджет в WordPress

Недавно возникла необходимость создать собственный виджет для WordPress'a. В рунете снова не нашлось понятной и четкой инфы по этому вопросу. Хочу сегодня от и до расписать процесс создания плагина с виджетом. Естественно при написании требуются знания html/php, ну и хотя бы малейшее представление о API WordPress.
1) И так, создаем файл с именем плагина first_widget.php в папке wp-contents/plugins/

2) Помещаем в заголовок стандартный код комментариев с описанием плагина(Думаю тут комментарии излишни, вам же нужен виджет, а не тщеславие!):

<?php
/*
Plugin Name: WP_widget
Description: Your First WP widget
Version: 1.0
Author: Your name.
Author URI: http://sapfeer.ru
*/

2) После этого создадим 2 функции, одна из них будет отвечать за вывод самого плагина, а вторая за управление плагином:

function first_wp_widget($args) {
    extract($args);                                  //Извлечение аргументов
    $title=get_option('first_widget_title'); //Получаем значение опции first_widget_title
    echo $before_widget;                       // --> начало вывода widget'a
    echo $before_title;                            // --> начало вывода заголовка widget'a
    echo (empty($title)? 'Set title please!' : $title); //Вывод заголовка widget'a
    echo $after_title;                               // --> конец вывода заголовка widget'a
    echo 'My First WP Widget :)';            // --> вывод основного html текста widget'a
    echo $after_widget;                          // --> конец вывода widget'a
}

Функция управления:

function first_wp_widget_control() {
    if (!empty($_REQUEST['first_widget_title'])) { 
        update_option('first_widget_title', $_REQUEST['first_widget_title']);       //Обновляем заголовок виджета
    }
 /*Вывод поля для имени виджета */
   echo 'Widget\'s title:<br>
<input style="width:200px;" type="text" name="first_widget_title" value="'.get_option('first_widget_title').'" /><br />';
}

В принципе, функциональность плагина определяется именно этими 2мя функциями. Здесь же, хочу сделать несколько заметок по поводу этих функций. Название любой опции для плагина должно быть строго уникальным! Иначе может произойти путаница с другими плагинами. Так же в функции управления виджетом не нужно создавать форму. Все опции виджетов в админ панели физически находятся на одной форме. Поэтому достаточно указать лишь нужный вам элемент(textbox, radio, select и т.д.). Ну и, конечно, обязательно старайтесь контролировать значения ваших опций.

3) А теперь необходимо интегрировать наш виджет в вордпресс:

    register_sidebar_widget('First WP Widget', 'first_wp_widget'); //регистрируем виджет
    register_widget_control('First WP Widget', 'first_wp_widget_control' ); //регистрируем элемент управления виджетом

4) И, наконец, не забудьте закрывающий тег для php скрипта:

?>

5) Все новый плагин готов, можете активировать его в настройках. Не забудьте добавить его на Sidebar и установить название заголовка.


Исходный код плагина можно скачать так же по ссылке first_widget.php.zip

GD Star Rating
loading...
Как создать простой виджет в WordPress, 6.6 out of 10 based on 5 ratings

27.09.2009 · Сергей · 2 комментария (-ев)
Метки:  · Рубрики: General

2 комментария (-ев)

  1. AllEx - 07.02.2011

    Строку echo ‘Widget’s title: стОит подредактировать:
    echo ‘Widget\’s title:

  2. Сергей - 12.02.2011

    Спасибо, поправил :)