Доброго здравия, уважаемые посетители моего маленького блога!
Долго думал что написать, и вот придумал — как создать свой собственный виджет WordPress с нуля. Не все знают как это сделать, но многие уже знают что такое виджет и пользовались ими для своих нужд.
И вот сегодня я расскажу вам как сделать свой виджет на простом примере. И вы увидите, что сложного ничего нет.
Виджеты WordPress — это блоки статического или динамического содержимого HTML, которые можно добавлять в определенные области интерфейсных страниц (области виджетов или боковые панели). WordPress предоставляет большое количество встроенных виджетов, таких как Архивы, Категории, Облако тегов, Поиск, Последние сообщения, Календарь и другие. Более того, я собираюсь объяснить в этом посте, как разработчики плагинов могут легко создавать виджеты WordPress с нуля, добавлять пользовательские функции и конкретный контент в любую тему, поддерживающую эту каталоге плагинов (в настоящее время их более 50 000), на рынках WordPress и на сайтах поставщиков, и вы, вероятно, найдете любой виджет, который вам может понадобиться. В любом случае, иногда вы не найдете искомого виджета, и вам нужно будет создать свой собственный.
Как создать виджет WordPress
Хорошей новостью является то, что вы можете создать виджет WordPress, даже если вы не профессиональный разработчик. Вам просто необходимы базовые знания ООП в PHP и общее понимание разработки плагинов для WordPress. Этот пост проведет вас через разработку виджетов WordPress, объяснив, как создать виджет, который позволяет администраторам сайта выбирать список сообщений для отображения на боковой панели.
Мы будем следовать этим шагам:
Основная структура виджетов WordPress
С точки зрения разработчика, виджет является экземпляром класса требованиях к заголовку вы найдете в Кодексе). Сохраните скрипт как my-widget.php, перейдите на экран плагинов и активируйте плагин. Теперь нам нужно расширить класс «WP_Widget» и некоторые его функции в точный момент выполнения WordPress. Давайте добавим следующий код в наш плагин:
// регистрируем My_Widget add_action( ‘widgets_init’, function(){ register_widget( ‘My_Widget’ ); });
Функция «add_action» перехватывает пользовательский обратный вызов для ловушки действия «widgets_init», которая срабатывает после регистрации всех виджетов по умолчанию.
Примечание: ловушка действия обеспечивает способ запуска функции в определенный момент выполнения WordPress и его расширений (смотрите код из Gist. После того, как мы настроили базовый шаблон плагина, мы можем сделать шаг вперед и определить каждый метод подкласса.
Настройка виджета: конструктор классов
Конструктор класса регистрирует widget ID, title и дополнительные параметры, такие как classname, description, base_id и высота. В нашем примере виджета мы назначаем идентификатор, имя и две опции виджета:
public function __construct() { $widget_ops = array( ‘classname’ => ‘my_widget’, ‘description’ => ‘Плагин для читателей моего блога’, ); parent::__construct( ‘my_widget’, ‘My Widget’, $widget_ops ); }
Смотрите