如何手动放置小部件代码

时间:2012-03-08 作者:Terrell Anderson

有没有一种方法可以将某个小部件放在网站的任何地方?

For example:

我在侧边栏中使用文本小部件,作为我放在YouTube上的标题,并将YouTube嵌入代码放在其中。但我想让这个小部件放在网站的顶部。我如何做到这一点,同时仍然使用widgets菜单,但不显示在侧边栏中,而是放在哪里?

如果不可能,是否有人知道YouTube侧边栏小部件,它可以让您将小部件代码放置在网站的任何位置,也可以从小部件菜单中执行操作?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

只需注册另一个小部件区域。不要随便使用侧边栏的名称,您可以在页面的任何位置使用这些字段。

在您的主题中functions.php:

add_action( \'after_setup_theme\', \'register_multiple_widget_areas\' );

function register_multiple_widget_areas()
{
    register_sidebar(
        array(
        \'name\'          => \'Sidebar\',
        \'id\'            => \'sidebar\',
        \'description\'   => \'describe the function of the box.\'
        )
    );
    register_sidebar(
        array(
        \'name\'          => \'Header\',
        \'id\'            => \'header-widget\',
        \'description\'   => \'Goes at the top of the page.\'
        )
    );
}
无论您在哪里需要header小部件调用:

dynamic_sidebar( \'header-widget\' );
另请参见register_sidebar()dynamic_sidebar().

SO网友:kaiser

You can use the_widget():

the_widget(
    \'WP_Widget_Archives\',
    [
        \'title\'    => __( \'Archives\', \'your-textdomain\' ),
        \'count\'    => true,
        \'dropdown\' => true,
    ],
    [
        \'before_widget\' => \'<section class="widget__container">\',
        \'after_widget\'  => \'</section>\',
        \'before_title\'  => \'<h2 class="widget__title">\',
        \'after_title\'   => \'</h2>\',
    ]
);
结束