Меню

Вордпресс как вывести виджет

the_widget() — позволяет вывести виджет непосредственно через PHP, за пределами сайдбара

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

  • WP_Widget_Archives — виджет Архивы (кликните по ссылке, чтобы пролистать пост до места с описанием данного виджета и его параметров, которые можно будет использовать во втором аргументе функции),
  • WP_Widget_Calendar — Календарь,
  • WP_Widget_Categories — Рубрики,
  • WP_Widget_Meta — Мета,
  • WP_Widget_Pages — Страницы,
  • WP_Widget_Recent_Comments — Свежие комментарии,
  • WP_Widget_Recent_Posts — Свежие записи,
  • WP_Widget_RSS — RSS,
  • WP_Widget_Search — Поиск,
  • WP_Widget_Tag_Cloud — Облако меток,
  • WP_Widget_Text — Текст,
  • WP_Nav_Menu_Widget — Произвольное меню;

$instanse (строка|массив) массив или строка с параметрами виджета (каждый виджет имеет собственные параметры, какие именно смотрите ниже).

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

before_widget Текст или HTML-код, который будет добавлен перед виджетом, по умолчанию:

after_title Текст или HTML-код после заголовка виджета, по умолчанию:

Описание стандартных виджетов в WordPress и их параметров

Виджет «Архивы»

Выводит ссылки на страницы архивов по месяцам. Параметры:

title (строка) Заголовок виджета архивов на сайте, по умолчанию __(‘Archives’) . count (логическое) Нужно ли рядом со ссылками отображать количество постов (является аналогом параметра show_post_count функции wp_get_archives()), значение по умолчанию — false (т.е. не отображать). dropdown (логическое) true — выводить выпадающий список в виде , false (по умолчанию) — маркированный список

    .

Источник

the_widget() WP 2.8.0

Выводит указанный виджет за пределами сайдбара. Можно использовать в любом месте шаблона.

Хуки из функции

Возвращает

null . Ничего. Выводит на экран HTML код виджета.

Использование

параметры виджета (настройки экземпляра класса).

Можно указать: массив array(‘dropdown’=>’1’) или строку запроса: ‘dropdown=1&count=1’ .

Какие параметры у каждого виджета смотрите ниже. Или зайдите в админку WP Внешний вид > Виджеты , активируйте нужный виджет и посмотрите какие у него есть параметры. Чтобы узнать конкретное название параметра, смотрите последнее значение атрибута name у поля виджета, например у виджета «облако меток» поле «заголовок» равно name=»widget-tag_cloud[2][title]» — значит настройка будет — title .

По умолчанию: array()

Массив параметров для изменения отображения виджета. Может быть:

before_widget(строка)
HTML который будет добавлен перед кодом виджета.
По умолчанию:

after_widget(строка)
HTML который будет добавлен после кода виджета.
По умолчанию:

before_title(строка)
HTML который будет добавлен перед кодом заголовка виджета.
По умолчанию:

after_title(строка)
HTML который будет добавлен после кода заголовка виджета.
По умолчанию:

По умолчанию: array()

Базовые виджеты WordPress

WP_Widget_Archives – архивы

  • Код виджета
  • classname: widget_archive
  • id_base: archives

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __(‘Archives’) count(число) Сколько постов для каждого архива выводить. Параметр show_post_count для функции wp_get_archives().
По умолчанию: 0 (спрятать) dropdown(логический) 1 — как выдающий список. 0 — как ul список.
По умолчанию: 0 (ul список)

Примеры:

WP_Widget_Calendar – календарь

  • Код виджета
  • classname: widget_calendar
  • id_base: calendar

Возможные элементы $instance :

title(строка) Заголовок виджета
По умолчанию: нет

Примеры:

WP_Widget_Categories – рубрики

  • Код виджета
  • classname: widget_categories
  • id_base: categories

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __( ‘Categories’ ) count(число) Количество постов в каждой категории. Параметр show_count в функциях: wp_dropdown_categories() или wp_list_categories().
По умолчанию: 0 (спрятать) hierarchical(логический) 1 — Древовидный вывод: дочерние и родительские рубрики. 0 — один уровень для всех.
По умолчанию: 0 (сплошной вывод) dropdown(логический) 1 — как выдающий список. 0 — как ul список.
По умолчанию: 0 (гд список)

Примеры:

Выпадающий список с количество записей в рубриках:

WP_Widget_Meta – вход/выход и мета данные

Выводит полезные ссылки: вход/выход, админка, фиды, WordPress ссылки.

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __(‘Meta’)

Примеры:

WP_Widget_Pages – постоянные страницы

Выводит список страниц.

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __(‘Pages’) sortby(строка) Колонка для сортировки. Параметр sort_column функции wp_list_pages().
По умолчанию: ‘menu_order’ exclude(строка/массив) ID записей которые нужно исключить из списка. Через запятую или в массиве.
По умолчанию: нет

Примеры:

Выведем список страниц:

Обернем заголовок виджета в h3 тег и отсортируем страницы по дате изменения:

WP_Widget_Recent_Comments – последние комментарии

  • Код виджета
  • classname: widget_recent_comments
  • id_base: recent-comments

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __(‘Recent Comments’) number(число) Число комментариев для вывода. Максимум 15.
По умолчанию: 5

Примеры:

Выведем последние комментарии:

WP_Widget_Recent_Posts – последние записи

  • Код виджета
  • classname: widget_recent_entries
  • id_base: recent-entries

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __(‘Recent Posts’) number(число) Число записей для вывода. Максимум 15.
По умолчанию: 5

Примеры:

Выведем последние записи:

WP_Widget_RSS – RSS

Выводит список элементов по указанному УРЛ на RSS или Атом вида.

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: берется из Указанного УРЛ url(строка) (обязательный) УРЛ на RSS или Атом фид. items(число) Количество выводимых ссылок.
По умолчанию: все из фида show_summary(логический) Выводить ли короткое описание под ссылками?
По умолчанию: false show_author(логический) Выводить ли автора поста?
По умолчанию: false show_date(логический) Выводить ли дату публикации?
По умолчанию: false

Примеры:

Выведем записи этого сайта:

WP_Widget_Search – поиск

  • Код виджета
  • classname: widget_search
  • id_base: search

Возможные элементы $instance :

title(строка) Заголовок формы поиска.
По умолчанию: null

Примеры:

Выведем форму поиска:

WP_Widget_Tag_Cloud – облако меток

  • Код виджета
  • classname: нет
  • id_base: tag_cloud

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: __(‘Tags’) taxonomy(строка) Название таксономии из элементов которой будет построено облако.
По умолчанию: post_tag

Примеры:

Выведем облако меток:

WP_Widget_Text – произвольные текст

Выводит любой текст. В тексте можно использовать HTML теги.

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: null (без заголовка) text(строка) Текст который нужно вывести в виджете. Можно использовать HTML теги.
По умолчанию: » filter(строка) Если указать, то вывод будет обработан функцией wpautop().
По умолчанию: нет

Примеры:

Выведем произвольный текст:

WP_Nav_Menu_Widget – меню

Выводит ссылки из указанного меню. Учитывает вложенность и порядок элементов.

Возможные элементы $instance :

title(строка) Заголовок виджета.
По умолчанию: null nav_menu(строка/число) (обязательный) ID меню, которое нужно вывести. ID меню можно узнать в админке, в настройках меню — смотрим в УРЛ (там ID видно) или берем само название меню в качестве ID.

Примеры:

Выведем меню 2 и «Мое меню»:

Для вывода меню в WordPress есть специальная функция: wp_nav_menu()

Произвольный виджет

Вывод любого виджета. Пусть его класс называется «My_Custom_Widget».

Название класса: WIDGET CLASS NAME

Параметры (настройки): произвольно

Примеры:

Виджет регистрируется в коде так. Подробнее про регистрацию виджета смотрите в примерах register_widget():

Источник

Виджеты в WordPress

Хотите больше практики? Рекомендую тогда посмотреть мой видеоурок по виджетам.

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

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

Как добавить или удалить виджеты (для начинающих)

Чтобы создать виджет в WordPress, для начала у вас должен быть подключен хотя бы один сайдбар, если у вас с этим трудности, тогда вам следует прочитать подробное руководство по работе с сайдбарами (там также описано, как добавить поддержку виджетов в теме WordPress). Также виджеты можно вывести на сайте непосредственно через PHP-код при помощи функции the_widget().

Если с этим разобрались, переходим в админке на страницу Внешний вид > Виджеты. Видите список доступных виджетов? Для того, чтобы добавить виджет на сайт, нужно перетащить его в одну из областей справа (сайдбаров).

В более поздних версиях WordPress есть и другой способ добавления виджета — вам достаточно кликнуть по его заголовку и из выпадающего списка выбрать сайдбар, в который вы хотите его добавить:

Когда виджет будет добавлен, мы увидим его настройки. В виджете «Календарь» это заголовок:

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

Для того, чтобы удалить виджет, нажимаем ссылку «Удалить» (её видно на предыдущем скриншоте). Если же вы хотите лишь временно отключить виджет, сохранив его настройки, перетаскиваем его в блок «Неактивные виджеты», который находится под блоком «Доступные виджеты».

Отключение стандартных виджетов WordPress

Если вы не используете и не планируете использовать какой-либо из стандартных виджетов WordPress, вы можете полностью отключить его при помощи функции unregister_widget(), после чего виджет перестанет отображаться в админке на странице Внешний вид > Виджеты, также он исчезнет и со страниц сайта.

Для отключения виджетов можете воспользоваться готовым кодом ниже:

  1. Вставьте код в файл functions.php текущей темы.
  2. Удалите или закомментируйте строки с теми виджетами, которые удалять не нужно.
  3. И только потом можете сохранить файл.

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

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

Создание собственного виджета

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

А сейчас мы будем создавать виджет популярных постов — выведем отсортированные по количеству комментариев записи через WP_Query.

По своей структуре наш виджет будет похож на стандартный виджет WordPress «Свежие записи», т е он будет иметь похожие параметры (заголовок и количество отображаемых постов) и похожий HTML-шаблон для вывода постов (заголовки записей со ссылками в виде

    -списка).

Вставляем этот код в functions.php :

Я перетащил этот код «как есть» (естественно удалив первую строчку ) в файл functions.php стандартной темы TwentyTwelve, в итоге в списке виджетов на странице Внешний вид > Виджеты мы видим наш виджет:

Давайте перетащим его в какой-нибудь сайдбар справа:

Вот и всё, указываем заголовок виджета (если нужно), количество постов, которое мы хотим вывести и нажимаем «Сохранить» — после этого виджет появится на сайте.

Список плагинов с полезными виджетами

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

Для того, чтобы добавить какой-либо из этих плагинов к себе на сайт, копируете его название, переходите в админке в Плагины > Добавить новый и вставляете в форму поиска скопированное название.

Подробно описывать каждый плагин я не буду — описание почти каждого из них тянет на новый пост. Устанавливайте, смотрите, тестируйте (на момент публикации этого поста каждый из плагинов был протестирован мною лично и всё работало отлично).

  • Beautiful Yahoo Weather — виджет прогноза погоды, довольно неплохой и красивый по сравнению с аналогами. Но для этих целей наверное лучше использовать текстовый виджет WordPress в связке с информерами от Gismeteo, Яндекса и т.д.
  • NextGEN Gallery — плагин для создания и управления галереями изображений в WordPress, одна из функций которого — виджет галереи.
  • Search by Google — форма поиска по сайту от Google (Google Custom Search).
  • Slick Contact Forms — виджет формы обратной связи.
  • Tabbed Login Widget — виджет авторизации, сделан в виде трех вкладок — «Вход», «Регистрация», «Забыли пароль», весьма удобный.
  • WP Currency Converter — конвертер валют.
  • WP Editor Widget — используйте редактор WordPress для заполнения этого виджета.
  • WP-Cumulus — добавляет флэш-облако тегов и/или категорий.
  • WP-Polls — удобный плагин для создания опросов на сайте.
  • Yet Another Related Posts Plugin (YARPP) — мощный плагин для вывода похожих записей.
  • Youtube Channel Gallery — виджет со свежими видео с канала на YouTube. Виджет выглядит очень красиво, хорошо и легко настраивается.

Со временем список будет пополняться.

Я не стану рассматривать все остальные виджеты социальных сетей (Facebook, Вконтакте, Twitter и т.д.) — в принципе официальные виджеты вполне удобные — просто копируем код, который нам дают и вставляем его в вордпрессовский виджет «Текст».

Посты по теме:

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Источник

Читайте также:  Как чистить батареи отопления внутри чугунные