Статьи

Введение в создание вашего первого виджета WordPress

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

В этой серии из пяти частей я проведу вас через шаги, необходимые для создания вашего первого виджета. Серия будет охватывать:

В этой части я познакомлю вас с виджетами и API виджетов .

Для создания виджета вы расширяете класс WP_Widget , который включает в себя ряд функций:

  • функция для обработки виджета
  • функция для отображения формы для виджета на экране панели виджетов
  • функция, позволяющая пользователям обновлять настройки виджета
  • функция для вывода виджета в любую область виджета, к которой он добавлен.

В дополнение к этому вы используете функцию register_widget() для регистрации созданного вами виджета.

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

WordPress поставляется с массивом встроенных виджетов , поэтому, прежде чем приступить к написанию своего собственного, убедитесь, что его нет в ядре WordPress.

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

API виджетов включает в себя функции, необходимые для создания виджета. Давайте посмотрим на каждого из них.

Во-первых, есть четыре функции виджета:

  • is_active_widget() : условный тег, который проверяет, активен ли отдельный виджет. Не путайте его с is_active_sidebar() , который проверяет, были ли виджеты добавлены в определенную область виджетов.
  • the_widget() : тег шаблона, который отображает виджет вне областей виджетов.
  • register_widget() : функция для регистрации виджета, которую я буду использовать позже в этой серии.
  • unregister_widget() : отменяет регистрацию виджета, что означает, что он больше не доступен для пользователей через экран виджетов.

Есть также пять внутренних функций:

  • wp_register_widget_control() : создает элементы управления на экране виджетов, чтобы пользователи могли изменять настройки виджета.
  • wp_unregister_widget_control() : регистрирует элемент управления виджета, который был зарегистрирован посредством wp_register_widget_control() .
  • wp_convert_widget_settings() : это преобразует настройки виджета из одного экземпляра в мульти-виджет.
  • wp_get_widget_defaults() : основная функция, не должна использоваться разработчиками плагинов или тем
  • wp_widget_description() : создает описание виджета, которое будет отображаться на экране виджетов.

Для доступа к этим внутренним функциям вы будете использовать класс WP_Widget . Это класс конструктора, который вы можете расширить для создания дополнительных виджетов.

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