От автора: в этом уроке мы продолжим создание плагина для WordPress «Избранные записи». Напомню, в предыдущем уроке мы реализовали функционал, позволяющий очищать список избранного, т.е. удалять все статьи из него за один раз, а не по одной. В этом уроке мы приступим к созданию собственного виджета, используя который мы выведем блок статей Избранного, к примеру в сайдбаре сайта.
![]() | Автор: Андрей КудлайЗовут меня Андрей Кудлай. Родом я из Украины, живу в Днепропетровске. Веб-программированию учился сам. Неплохо знаю HTML, CSS, PHP, JavaScript. |
Начнем с того, что скажем несколько слов о написании виджетов. Если до этого мы писали весь код в процедурном стиле, то при написании виджета нам потребуется уже использовать объектно-ориентированный подход.
В случае с плагинами WordPress предлагает два варианта написания кода на выбор: процедурный или объектно-ориентированный. В случае же с виджетами выбора у нас нет, поскольку для того, чтобы написать виджет, мы должны наследовать уже имеющийся класс WordPress — это класс WP_Widget. Соответственно, нам потребуется писать собственный класс, который и будет описывать создаваемый виджет.
Итак, откроем главный файл плагина и инициализируем такой класс:

Бесплатный курс «Основы создания тем WordPress»
Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц
Скачать курс 1 2 3 4 | add_action( 'widgets_init', 'wfm_favorites_widget' ); function wfm_favorites_widget(){ register_widget( 'WFM_Favorites_Widget' ); } |
Здесь мы обращаемся к хуку widgets_init, к которому цепляем функцию, регистрирующую наш собственный виджет. В качестве параметра функция принимаем имя класса. Класс мы опишем в отдельном файле, который создадим в корне папки с плагином и подключим после подключения файла функций:
1 | require __DIR__ . '/WFM_Favorites_Widget.php'; |
В созданном классе мы можем работать с четырьмя методами:
__construct — метод конструктора, определяющий настройки виджета в списке виджетов;
form — метод, описывающий форму виджета в админской части;
widget — метод, описывающий вывод виджета в пользовательской части;
update — метод, отвечающий за обновление настроек виджета в админке.
Пока что мы используем в коде только первые три метода. Метод update является опциональным и используется в том случае, если нам необходимо выполнить дополнительные действия в момент обновления настроек виджета.
Итоговый код класса в итоге будет примерно таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?php class WFM_Favorites_Widget extends WP_Widget{ // настройки виджета в списке виджетов public function __construct(){ $args = [ 'name' => 'Избранные записи', 'description' => 'Выводит блок избранных записей пользователя' ]; parent::__construct('wfm-favorites-widget', '', $args); } // форма виджета в админке public function form($instance){ extract($instance); $title = !empty($title) ? esc_attr( $title ) : 'Тестовое название'; ?> <p> <label for="<?php echo $this->get_field_id('title') ?>">Заголовок:</label> <input type="text" name="<?php echo $this->get_field_name('title') ?>" value="<?php echo $title ?>" id="<?php echo $this->get_field_id('title') ?>" class="widefat"> </p> <?php } // виджет в пользовательской части public function widget($args, $instance){ } // обновление настроек виджета в админке /*public function update(){ }*/ } |
По сути мы пока что описали лишь первые два метода. В метода конструктора мы указали название и описание создаваемого виджета, а также вызвали конструктор наследуемого класса, передав соответствующие параметры.
Метод form создает пока что лишь одну настройку — название виджета, которое будет выводиться в пользовательской части. В качестве параметра метод принимает массив с сохраненными настройками.
Если мы нигде не ошиблись, то теперь в разделе виджетов мы увидим новый виджет, который можем использовать и даже сохранить первую настройку для него — его заголовок.
На этом текущий урок завершен. Удачи и до новых встреч!

Бесплатный курс «Основы создания тем WordPress»
Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц
Скачать курс
Основы создания тем WordPress
Научитесь создавать мультиязычные темы с нестандартной структурой страниц
Смотреть
У меня такой же редактор не поддерживает код wordpress.
Уточните вопрос. Не понятно, о каком редакторе речь? О редакторе коде или редакторе WordPress?
Как установить пакет подсветки функций wordpress для Sublime text 2?
Это плагин WordPress от purplefish32, установка стандартная, как и для большинства прочих плагинов для ST.
Можете объяснить подробнее как установить его.
В любой статье или видео на первой же странице выдачи Гугла по запросуsublime text установка плагинов можно найти ответ на заданный вопрос. Установка данного плагина делается аналогично.
Полетел редактор soblime text 2 что делать?
Удалять не удаляется полностью.
Переустановить — не может заменить 3 файла.
Попробуйте перезагрузить компьютер или войти под учетной записью администратора, если у Вас нет админских прав. Большего без непосредственной работы с проблемой, к сожалению, не подсказать.