Russian (Pусский) translation by blacktreelab (you can also view the original English article)
Это вторая часть в серии, рассказывающей о том, как создать ваш первый виджет для WordPress. В первой части вы узнали о Widget API и классе WP_Widget
. В этой части вы узнаете, как начать создавать виджет путем создания класса, и зарегистрировать ваш виджет.
Полность серия состоит из пяти частей:
- Введение в виджеты и Widget API (виджет интерфейс).
- Кодирование и регистрация виджета
- Структура виджета
- Создание формы для виджета
- Добавляем виджет в поле виджетов
Что вам потребуется
Чтобы следовать данной серии, вам потребуется:
- Среда разработки WordPress
- Редактор кода
Настраиваем плагин
Сначала вам нужно настроить плагин. Создайте новый файл в папке wp-content/plugins
. Я назвала этот файл tutsplus-list-subpages-widget.php
.
Добавьте следующий код в файл:
<?php /*Plugin Name: List Subpages Widget Description: This widget checks if the current page has parent or child pages and if so, outputs a list of the highest ancestor page and its descendants. This file supports part 1 of the series to create the widget and doesn't give you a functioning widget. Version: 0.1 Author: Rachel McCollin Author URI: https://rachelmccollin.com License: GPLv2 */ ?>
Естественно, вам нужно изменить имя автора и URL, данный код дает вам все, что нужно для отображения плагина на панели плагинов.
Сохраните файл с плагином.
Создаем виджет класс
Следующим шагом будет создание нового класса, для того, чтобы расширить класс WP_Widget
.
Добавьте этот код в ваш файл плагина:
<?php class Tutsplus_List_Pages_Widget extends WP_Widget { function __construct() { } function form( $instance ) { } function update( $new_instance, $old_instance ) { } function widget( $args, $instance ) { } } ?>
Давайте посмотрим из чего состоит этот класс:
- метод
__construct
делает то, что и ожидаемо - создает функцию. Внутри этой функции мы определим идентификатор виджета, его название и описание. - функция
form
создает форму на панели виджетов, которая позволяет пользователям настраивать или активировать виджет. - функция
update
обеспечивает обновления всех параметров, которые пользователи вводят на панели виджетов. - функция
widget
определяет, что выводить виджет на страницах сайта.
Последние три из этих функций имеют параметры, которые я объясню в деталях далее в соответствующих уроках.
Регистрирует виджет
Ваш виджет не будет работать, если вы не зарегистрируете его в WordPress. Ниже класса добавьте в код функцию и хук, чтобы зарегистрировать виджет:
<?php function tutsplus_register_list_pages_widget() { register_widget( 'Tutsplus_List_Pages_Widget' ); } add_action( 'widgets_init', 'tutsplus_register_list_pages_widget' ); ?>
Функция register_widget()
- это функция WordPress, единственным параметром которой является имя класса, который вы только что создали.
Затем вы добавляете хук в функцию widgets_init
, чтобы убедиться, что ваш плагин добавлен в WordPress.
Примечание: ваш виджет пока не будет работать и не будет отображаться на панеле виджетов, так что пока нет необходимости активировать плагин. Вам необходимо выполнить все шаги в этой серии для того, чтобы плагин заработал.
Резюме
Вы уже начали процесс создания своего первого виджета для WordPress. Мы создали плагин для виджета, создали класс для конструкции виджета и зарегистрировали его.
В следующем уроке вы узнаете, как создать виджет, используя метод __construct
.