我在WordPress中使用此代码添加了自定义动态侧边栏
register_sidebar
(array(
'name' => __( 'My widget' ),
'id' => 'right-sidebar',
'description' => __( 'Widgets in this area will be shown on the right-hand side.' ),
'before_title' => '<h1>',
'after_title' => '</h1>'
));
现在我可以通过Dashboard在WordPress管理员中看到这个动态侧边栏 - &gt;外观 - &gt;窗口小部件。
当我激活主题时,默认情况下此动态侧边栏不显示内容;显示窗口小部件(例如,最近的帖子,页面,类别)我必须将它们拖到我的窗口小部件动态侧边栏中。
但是我希望My Widget动态侧边栏默认显示三个Widgets(Recent Posts,Pages,Category),类似于Twenty Ten或Twenty Eleven中的动态侧边栏。
答案 0 :(得分:1)
嗯,这是一种正常行为,您只需在主题中为此侧边栏设置默认内容即可。看看Twentyeleven / sidebar.php,你可以做同样的事情:
<?php if ( ! dynamic_sidebar( 'right-sidebar' ) ) : ?>
Default content
<?php endif; ?>
不要误会,侧边栏不是小部件,它是小部件区域。
答案 1 :(得分:1)
使用dynamic_sidebar()
和the_widget()
如果没有将Widgets添加到动态侧边栏,则这是显示默认内容的构造:
<?php
if ( ! dynamic_sidebar( 'My_Widget' ) ) {
// default content goes here
}
?>
因此,要将特定的小部件输出为默认内容,只需调用the_widget($widget, $instance, $args)
即可。例如,要显示"Recent Posts" Widget:
<?php
if ( ! dynamic_sidebar( 'My_Widget' ) ) {
the_widget( 'WP_Widget_Recent_Posts' );
}
?>
(有关其他使用示例,请参阅链接的Codex参考,以及每个Widget的$instance
/ $args
值。)
答案 2 :(得分:0)
它可能但不是自动激活。 您需要在需要的小部件(假设侧边栏)边栏是真正的小部件就绪的地方做什么,管理员将新的侧边栏小部件弹出到阵容中,事情将自动切换为使用管理员指定的设置。
是的,您可以将其作为默认设置。不作为自动激活...