как вывести виджет WordPress в PHP
2.8.0
wp-includes / widgets.php
Функция выводит указанный виджет в любой части сайта. Все параметры выводимого виджета можно настроить во втором аргументе функции.
the_widget($widget, $instance = array(), $args = array())
- $widget
- (строка) PHP-класс виджета. Перечислю классы стандартных виджетов WordPress:
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
- (строка|массив) массив или строка с параметрами виджета (каждый виджет имеет собственные параметры, какие именно смотрите ниже).
Параметры виджетов вы также можете посмотреть сами, для этого в админке переходим во Внешний вид > Виджеты, затем перетаскиваем интересующий нас виджет в сайдбар и видим его параметры:
- $args
- (массив|строка) массив или строка с параметрами, которые обычно задаются при регистрации сайдбара (некоторые из них). Cписок значений параметров следующий:
- before_widget
- Текст или HTML-код, который будет добавлен перед виджетом, по умолчанию:
<div class="widget {класс виджета}">
- after_widget
- Текст или HTML-код, который будет добавлен после виджета, по умолчанию:
</div>
- before_title
- Текст или HTML-код перед заголовком виджета, по умолчанию:
<h3>
- after_title
- Текст или HTML-код после заголовка виджета, по умолчанию:
</h3>
Описание стандартных виджетов в WordPress и их параметров
Виджет «Архивы»
Выводит ссылки на страницы архивов по месяцам. Параметры:
- title
- (строка) Заголовок виджета архивов на сайте, по умолчанию
__('Archives')
. - count
- (логическое) Нужно ли рядом со ссылками отображать количество постов (является аналогом параметра
show_post_count
функции wp_get_archives()), значение по умолчанию —false
(т.е. не отображать). - dropdown
- (логическое)
— выводить выпадающий список в виде<select>
,false
(по умолчанию) — маркированный список<ul>
.
Примеры использования:
the_widget( 'WP_Widget_Archives' );
the_widget( 'WP_Widget_Archives', array('title' => 'Мой виджет', 'count' => true, 'dropdown' => true) );
the_widget( 'WP_Widget_Archives', 'title=Мой виджет&dropdown=1' );
Виджет «Календарь»
Выводит календарь, на котором отображаются даты публикации постов. Его удобно использовать для навигации по страницам архивов постов.
Параметры:
- title
- (строка) Заголовок виджета, по умолчанию без заголовка
Пример:
the_widget( 'WP_Widget_Calendar' );
Виджет «Рубрики»
Позволяет вывести список рубрик блога.
Параметры:
- title
- (строка) Заголовок виджета, по умолчанию
__(' Categories')
- count
- (логическое) Нужно ли отображать количество постов рядом с названием рубрики, аналог параметра
show_count
функции wp_list_categories(), значение по умолчанию —false
(не отображать). - hierarchical
- (логическое) Нужно ли соблюдать иерархию категорий (по умолчанию
false
— не нужно). - dropdown
- (логическое)
true
— в виде выпадающего списка,false
(по умолчанию) — в виде маркированного списка.
Пример:
the_widget( 'WP_Widget_Categories', array('count' => true) );
Виджет «Мета»
Выводит ссылки входа и выхода на сайте, а также ссылки на RSS ленты (лента постов и лента комментариев) и на официальный сайт WordPress.
- title
- (строка) Заголовок, по умолчанию
__(' Meta')
the_widget( 'WP_Widget_Meta' );
Виджет «Страницы»
Выводит ссылки на страницы (тип поста page
) сайта.
Параметры:
- title
- (строка) Заголовок выводимого списка страниц, по умолчанию
__('Pages')
- sortby
- (строка) По какому критерию сортировать страницы. По умолчанию —
menu_order
. - exclude
- (строка) IDы страниц через запятую, которые нужно исключить из выводимого списка. По умолчанию выводятся все.
Например выведем список страниц, отсортированных по дате изменения и исключим из этого списка страницы с ID = 4 и ID = 5:
the_widget('WP_Widget_Pages', 'sortby=post_modified&exclude=4,5' );
Виджет «Свежие комментарии»
Думаю из заголовка прекрасно понятно, какую функцию выполняет этот виджет. Его параметры:
- title
- (строка) Заголовок выводимого списка комментариев, по умолчанию
__('Recent Comments')
- number
- (целое число) Количество комментариев, которые нужно отобразить (не более 15). По умолчанию — 5.
the_widget( 'WP_Widget_Recent_Comments', 'number=15' );
Виджет «Свежие записи»
- title
- (строка) Заголовок виджета, по умолчанию
__('Recent Posts')
- number
- (целое число) Количество записей, которые нужно отобразить (не более 15). По умолчанию — 10.
the_widget( 'WP_Widget_Recent_Posts', array( 'number' => 5 ) );
Виджет «RSS»
Этот виджет позволяет вывести RSS или Atom ленту любого блога. Это также можно сделать при помощи функции fetch_feed().
Параметры виджета:
- title
- (строка) Заголовок виджета, по умолчанию выводится название ленты в виде ссылки на сайт, слева от которого иконка RSS со ссылкой непосредственно на ленту.
- items
- (целое число) Количество элементов, которые нужно отобразить. По умолчанию — все доступные.
- url
- (строка) Ссылка на RSS-фид, который хотим вывести (параметр обязателен).
- show_summary
- (логическое) Нужно ли под ссылками с заголовками вывести краткое описание. По умолчанию —
false
. - show_author
- (логическое) Нужно ли отобразить авторов постов. По умолчанию —
false
. - show_date
- (логическое) Нужно ли вывести даты публикаций постов. По умолчанию —
false
.
Пример:
$instance = array( 'feed' => 'https://misha.blog/feed', 'items' => 5, 'show_summary' => true ); the_widget( 'WP_Widget_RSS', $instance );
Виджет «Поиск»
Выводит форму поиска по сайту.
- title
- (строка) Заголовок виджета, по умолчанию
null
.
the_widget( 'WP_Widget_Search' );
Виджет «Облако меток»
Выводит облако меток / категорий / элементов таксономий.
- title
- (строка) Заголовок виджета, по умолчанию
__( 'Tags' )
. - taxonomy
- (строка) Элементы какой таксономии следует вывести в виде облака тегов (по умолчанию — метки
post_tag
.
Выводим облако рубрик блога:
the_widget( 'WP_Widget_Tag_Cloud', 'title=Облако рубрик&taxonomy=category', 'before_title=<h4>&after_title=</h4>' );
Виджет «Текст»
- title
- (строка) Заголовок виджета, по умолчанию
null
(т.е. без заголовка). - text
- (строка) Текст или HTML-код.
the_widget( 'WP_Widget_Text', array('text' => 'Привет.') );
Виджет «Произвольное меню»
Позволяет вывести одно из созданных в админке меню в виде списка (с учетом вложенности элементов).
- title
- (строка) Заголовок виджета, по умолчанию
null
. - nav_menu
- (строка|целое число) ID или название меню, которое нужно вывести (регистр не имеет значения, кириллические символы тоже). Как узнать ID меню? Легко и просто — переходим на страницу редактирования меню и залазим в исходный код:
the_widget( 'WP_Nav_Menu_Widget', array('nav_menu' => 122) );
the_widget( 'WP_Nav_Menu_Widget', array('nav_menu' => 'My Menu') );
Миша
В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.
Виджеты WordPress. Вывод виджета WordPress
Вывод виджета в WordPress достаточно прост. Но что делать, если вы хотите использовать различные виджеты Wordpress в зависимости от типа страниц? Хотите настраивать WordPress виджеты отдельно для каждой из страниц вашего сайта? Если нет то тогда вы можете использовать виджет Widget Logic
Смотрите также:
Лучшие WordPress темы для блога
Самые популярные wordpress темы
Плагины для изменения css в WordPress
Broken Link Checker — исправление битых ссылок в WordPress
WordPress плагины для инстаграм
Вывод виджета wordpress
WordPress плагин виджетов Widget Logic дает каждому WordPress виджету дополнительное поле, которое называется «Логика виджета», с помощью которой можно указывать где каждый виджет будет выводиться.
Как выводить виджеты wordpress
Вывод виджетов в WordPress можно контролировать следующими условиями, по которому будет выводится виджет, будет указываться в поле «Widget logic»
Например:
is_home() – вывод виджетов только на главной странице;
is_single() – вывод виджетов только в полных записях статей;
is_single( ’11′ ) – выводит виджет только только в полной записи статьи, ID которой17;
is_single( ‘ Мое путешествие’ ) – выводит виджет только записи с заголовком “Мое путешествие”;
is_single( ‘yea’ ) – выводит виджет только записи с заголовком ‘yea’;
is_single( array( 11, 221,22, 42 ) ) – выводить виджет только в полных записях статей, ID которых 17, 21, 24 и 32;
is_page() — выводит виджет только на страницах;
is_page( ’187′ ) — выводит виджет только на странице, ID которой 17;
is_page( ‘О нас’ ) — выводит виджет только на странице, заголовок которой “О нас”;
is_page( ‘About’ ) — выводит виджет только на странице, название которой ‘about’;
is_page( array( 23, ‘Обо мне’, ‘about-me’ ) ) — выводить виджет только на страницах с ID=23, заголовком “Обо мне” и названием ‘about-me’;
is_page( 221, 310,441) — выводит виджет только на страницах, ID которых 221, 310 и 441;
is_category() – выводит виджет только в категориях;
is_category( ’19′ ) – выводит виджет только в категории, ID которой 19;
is_category( ‘Новости’ ) – выводит виджет только в категории “Новости”;
is_category( ‘news’ ) – выводит виджет только в категории с ярлыком “news”;
Вывод виджетов в конце статьи на WordPress
На сайте WordPress можно легко вывести любую информацию в сайдбаре использовав для этого специальные виджеты. Это намного упрощает работу и не требует нужды лишний раз редактировать файлы. А если подключить поддержку php в сайдбаре WordPress, то возможности увеличиваются вдвое.
Но к сожалению, по умолчанию нет такой способности чтобы с помощью виджета вывести информацию в конце статьи. В этом вопросе нам поможет плагин «Add Widget After Content» простой, легкий и удобный. В нем нет кучи затруднительных настроек и прочих сложностей он выполняет только одну задачу – добавляет виджет.
После установки и активации плагина перейдите во вкладку «Внешний вид — Виджеты». Здесь вы найдете новую вкладку «After Content».
Теперь просто добавляйте в нее виджеты стандартным путем (перетягиванием). Весь добавленный материал будет выводиться в конце статьи. Также он легко поддается стилизации что позволит оформить внешний вид так, как нам нужно.
Без изменений стилей виджеты выводятся в столбик друг за другом, но если хотите чтобы было в ряд, то нужно добавить стили. В файл style.css пропишите следующее:
.awac-wrapper { margin: 0px auto; width: 29%; float: left; padding: 10px; } h5.widget-title { background: #eee; font: bold 15px arial; padding: 5px; } .awac-wrapper li { list-style: none; }
Результат.
Еще одна хорошая вещь в этом плагине что он поддерживает php
и путем добавления текстового виджета можно вставлять различные фрагменты кода. Если вы раньше лезли в файл single.php чтобы вывести похожие записи, то сейчас можно же встать нужный отрывок кода и получится тот же результат.
И напоследок, в разделе «Записи – Добавить новую» в конце после поля ввода плагин добавляет блок с инф. о том что данный виджет возможно отключить в любой статье, которую публикуете или уже опубликовали.
Как разместить виджет WordPress в определенном месте
Как корректно разместить виджет WordPress на сайте в заданном месте? Это вопрос из категории наиболее запрашиваемых на сегодняшний день. Научиться это делать правильно и быстро за пару минут вполне реально. Предлагаю сразу перейти к практической части урока, чтобы не запутаться в теоретической основе. Таким образом, Вы будете сразу входить в курс дела и в дальнейшем сможете без проблем самостоятельно выполнять эту не сложную задачу. Думаю, Вы примете такой план работы, и мы можем смело приступать к его реализации.
Представим ситуацию, в которой перед нами стоит задача поместить какой-либо виджет в определенное место на странице сайта WordPress, но выполнить эту задачу необходимо так, чтобы он отображался во вкладке администратора, и мог быть заменен любым другим виджетом. Итак, предлагаю выполнять работу поэтапно, мысленно разделив ее на несколько частей.
Регистрация местоположения под виджет
Перед тем, как начать работу, нам необходимо найти файл functions.php в нашей теме и открыть его. После того, как мы проделаем это действие, вверху нужно найти тег открытия для php кода — <?php и вставить этот код после него.
if ( function_exists(‘register_sidebar’) ) register_sidebar(array( ‘name’ => ‘New Sidebar’, ‘before_widget’ => ‘<div>’, ‘after_widget’ => ‘</div>’, ‘before_title’ => ‘<div>’, ‘after_title’ => ‘</div>’, )); |
Этот код как бы сообщает системе, что необходимо провести действие по регистрации нового местоположения под виджет. Далее, в боковой панели Вы увидите такие данные:
- ‘name’ — название блока для виджетов. У Вас есть возможность придумать любое имя для него.
- ‘before_widget’ — в этой строке необходимо прописать HTML код, который Вам хотелось бы прикрепить перед виджетом.
- ‘after_widget’ – HTML-код, который следует за виджетом.
Координация параметров ‘before_widget’ и ‘after_widget’ необходима для выбора и задания желаемого стиля визуализации блока с виджетами, используя CSS.
Поработав с параметрами ‘before_title’ и ‘after_title’ , Вы сможете задать стиль визуализации заголовков виджета.
На этом регистрация новой боковой панели успешно завершена. Далее Вы просто переходите в панель администратора и находите там боковую панель с названием New SideBar — у Вас есть возможность переименовать его как пожелаете на свое усмотрение.
Как разместить боковую панель на сайте
Таким образом, у нас готова боковая панель для панели администратора, но непосредственно на сайте нет его отображения. Значит, нам необходимо теперь в самом коде существующего сайта указать на место, где в дальнейшем будет размещаться наша боковая панель, где она будет выводиться.
Чтобы задать эту функцию, необходимо открыть файл темы, к примеру header.php — если нам необходимо, чтобы виджеты были помещены в верхней части сайта, нам необходимо вставить нижеследующий код в определенное заранее место.
<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(«New Sidebar») ) : ?> <?php endif; ?> |
Если Вы задали код верно, то Ваша боковая панель будет размещена там, где Вам было необходимо. Однако на этом работа еще не завершена. На данном этапе, для корректной визуализации можно без проблем работать с CSS файлом, который в конечном итоге поможет получить гармоничное местоположение для виджетов WordPress. Однако я предполагаю, что Вы уже знаете, как это сделать.
В общем, на этом можно считать урок завершенным. Надеюсь, информация оказалась доступной и полезной для Вас. А если у Вас возникнут вопросы, я отвечу на них в комментариях.
Возможно, Вам будет интересно ↓↓↓
Вывод виджетов по горизонтали, плагин Responsive Column Widgets
Вступление
Есть такой плагин Responsive Column Widgets, который принципиально меняет вывод виджетов на сайте WordPress. Слово меняет, скорее преувеличение. Будет правильнее сказать, не меняет, а дополняет, создавая вывод виджетов по горизонтали, оставляя вывод виджетов по-умолчанию без изменений. Очень неплохой плагин в серии плагинов для управления виджетами.
Установка плагина Responsive Column Widgets
Плагин Responsive Column Widgets официально тестирован на wp 4.7.10 (09-04-2018). Страница плагина: https://ru.wordpress.org/plugins/responsive-column-widgets/
Для установки плагина выбираем самый простой способ из трех способах установки плагинов: Используем поиск плагина и его установку из панели администрирования сайта на вкладке Плагины→Добавить новый→Поле поиска.
Перед установкой можно посетить вкладку «Детали» и почитать описание плагина. Установленный плагин нужно активировать и можно переходить к его настройкам.
Настаиваем вывод виджетов по горизонтали
Все настройки плагина Responsive Column Widgets лежат на вкладке Внешний вид→Responsive Column Widgets, куда мы и заходим.
В меню настроек три рабочие вкладки: Edit, Manage, General.
В бесплатной версии плагина можно создать только один бокс с виджетами. Название его задано: Responsive Column Widgets.
Посмотреть название и атрибуты бокса можно на вкладке: Manage.
Идем в генеральные настройки, вкладка General. Выбираем когда загружать плагин и на каких страницах его загружать.
Здесь же, в низу страницы General есть очистка кеша плагина. Ей нужно пользоваться при смене настроек плагина и смене его наполнения виджетами.
После генеральных настроек создадим виджет бокс Responsive Column Widgets. После его создания и наполнения виджетами, именно его мы сможем показать на сайте в сайдбарах, статьях и страницах.
Виджет бокс Responsive Column Widgets
Правила действий следующие:
- Сначала добавляем виджет Responsive Column Widgets в Select Sidebar. Тем самым в полях сайдбаров появляется новое поле бокса Responsive Column Widgets.
- Наполняем Responsive Column Widgets виджетами.
- Добавляем наполненный виджет Responsive Column Widgets в другие сайдбары темы.
Обо всем по порядку.
Идем на вкладку Внешний вид→Виджеты. Видим, что в наборе виджетов появился новый виджет Responsive Column Widgets. Добавляем виджет Responsive Column Widgets в виде нового сайдбара. Поле «Select Sidebar»→Кнопка «Добавить».
Теперь в полях сайдбаров появилось новое поле: Responsive Column Widgets.
Но на сайте этот бокс показывает, что он пустой. Русское пояснение вписывается на вкладке Editor.
Теперь у каждого виджета появилось новое поле для добавления. Название его Responsive Column Widgets. По мере добавления виджетов в Responsive Column Widgets будет увеличиваться количество позиций для виджетов. Эти позиции будут формировать количество колонок для показа.
Важно. Нельзя добавлять виджет Responsive Column Widgets в уже созданный бокс Responsive Column Widgets.
Отмечу, что количество колонок не может превышать заданные количество колонок на вкладке Editor настроек плагина. Посмотрим настройки плагина Editor.
Продолжаем настройки Responsive Column Widgets, вкладка Editor
На вкладке Editor плагина Responsive Column Widgets, можно настроить количество колонок, задать, где показывать колонки, а где не показывать, задать ID постов и страниц, на которых исключить показ колонок.
Главное нужно включить автоматический показ колонок. Что мы и делаем, прежде всего.
Во второй части страницы Editor, можно задать пользовательский внешний вид вывода колонок, включая цвет фона, отступ от краев бокса и его ширину.
вывод виджетов по горизонталиМожно задать пользовательские классы CSS.
Как видите настроек много, и заполнять их нужно аккуратно. К сожалению, в бесплатной версии можно создать только один бокс колонок, но показать него можно в любом сайдбаре сайта, включая футер и header (если они есть в теме), и в статьях и на страницах. Причем этот выбор показа можно настроить, включая показ, вверху или внизу или, вверху и внизу содержания.
Итоги статьи
После установки и настройки плагина, можно создавать и размещать колонки виджетов на сайте. Для этого (повторюсь):
- Сначала создаем виджет бокс Responsive Column Widgets.
- Потом наполняем этот бокс виджетами.
- Затем, виджет бокс Responsive Column Widgets, уже наполненный колонками с виджетами, размещаем по сайдбарам сайта.
- Для показа колонок в статьях и на страницах сайта включаем автоматическую загрузку плагина и настройки на вкладке Editor настроек плагина.
- Там же настраиваем фильтр, где показывать, а где не показывать колонки Responsive Column Widgets.
На последнем фото видим, вывод колонок с тремя виджетами, при установленных настроек (Editor) в три колонки и с фоном серого цвета. Как видите, выводятся колонки и в правом сайдбаре и внизу статьи.
©www.wordpress-abc.ru