Как вручную разместить код виджета
Есть ли способ разместить определенный виджет в любом месте сайта?
Например:
Я использую текстовый виджет в сайдбаре, для заголовка указал YouTube и поместил код встраивания YouTube в него. Но я хочу, чтобы этот виджет отображался в верхней части сайта. Как это сделать, продолжая использовать меню виджетов, но не отображая его в сайдбаре, а там, где я его размещу?
Если это невозможно, знает ли кто-нибудь YouTube виджет для сайдбара, который позволяет размещать код виджета в любом месте сайта и делать это из меню виджетов?

Просто зарегистрируйте ещё одну область для виджетов. Не воспринимайте название sidebar буквально — вы можете использовать эти области в любом месте вашей страницы.
В файле темы functions.php
:
add_action( 'after_setup_theme', 'register_multiple_widget_areas' );
function register_multiple_widget_areas()
{
register_sidebar(
array(
'name' => 'Боковая панель',
'id' => 'sidebar',
'description' => 'Опишите назначение этой области.'
)
);
register_sidebar(
array(
'name' => 'Шапка',
'id' => 'header-widget',
'description' => 'Размещается в верхней части страницы.'
)
);
}
Где вам понадобится виджет в шапке, вызовите:
dynamic_sidebar( 'header-widget' );
Смотрите также register_sidebar()
и dynamic_sidebar()
.

Вы можете использовать функцию the_widget()
:
the_widget(
'WP_Widget_Archives',
[
'title' => __( 'Архивы', 'your-textdomain' ),
'count' => true,
'dropdown' => true,
],
[
'before_widget' => '<section class="widget__container">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget__title">',
'after_title' => '</h2>',
]
);
