Как отобразить произвольный виджет в любом месте

4 февр. 2015 г., 20:21:53
Просмотры: 56.8K
Голосов: 5

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

<?php the_widget( 'AdWidget_300' ); ?> 

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

2
Комментарии

Вы можете отфильтровать the_content и вернуть его после контента, используя условный тег is_front_page(); ИЛИ вы можете вызвать сайдбар в вашем файле single.php или content.php

Brad Dalton Brad Dalton
4 февр. 2015 г. 22:15:33

Был ли решен этот вопрос?

Ethan Rævan Ethan Rævan
31 авг. 2016 г. 21:42:09
Все ответы на вопрос 5
2

Добавьте область виджетов в ваш шаблон темы single.php, front-page.php, home.php или любой другой... Затем в админ-панели перейдите в раздел Внешний вид > Виджеты и переместите виджет в только что созданную область.

4 февр. 2015 г. 20:39:29
Комментарии

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

Dragut Dragut
4 февр. 2015 г. 20:52:49

@Bergmann, вы можете создать столько виджетов и областей для виджетов, сколько вам нужно.

luukvhoudt luukvhoudt
4 февр. 2015 г. 20:56:19
0

Мы не можем отображать пользовательский виджет напрямую в контенте или любом другом месте. Функция the_widget() отображает только встроенные виджеты.

Однако если вам всё же нужно отобразить пользовательский виджет, то вам необходимо создать область виджетов (сайдбар), назначить виджет вновь созданной области и отобразить эту область с помощью dynamic_sidebar( 'id' );.

Подробнее: http://codex.wordpress.org/Widgetizing_Themes

1 июн. 2015 г. 15:12:37
2

Пользовательский виджет хорошо работает с <?php the_widget( '' ); ?>

Вы можете протестировать его.

  1. Скопируйте пример виджета https://codex.wordpress.org/Widgets_API#Displaying_Widgets

  2. Не забудьте зарегистрировать его, как указано в codex add_action( 'widgets_init', ...

  3. Вызовите его из index.php <?php the_widget( 'Foo_Widget' ); ?>

19 мар. 2017 г. 18:41:55
Комментарии

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

ekkis ekkis
14 авг. 2020 г. 05:06:43

посмотрите код внутри.

Alexufo Alexufo
15 авг. 2020 г. 12:57:47
0

@Bergmann, Можно отображать 5 рекламных объявлений на одной странице, используя один виджет, "если все объявления находятся вместе". Но если вам нужно разместить объявления в разных местах, вам придется создать разные области виджетов и разные виджеты.

5 февр. 2015 г. 07:42:08
0

Чистое, простое и легкое решение вашего вопроса — это плагин amr shortcode any widget. Как следует из названия, вы можете вставлять виджеты на свои страницы с помощью шорткодов, например:

[do_widget "Ваш Виджет" ]
31 авг. 2016 г. 21:48:04