1

好的,所以这行得通,一切都很好。但我不明白为什么它会起作用:

在我的functions.php中,我有:

register_sidebar( array(
 'name' => 'Welcome',
 'id' => 'Welcome',
 'before_widget' => '',
 'after_widget' => '',
 'before_title' => '<h1>',
 'after_title' => '</h1>',
) );

那里没有奇怪的东西。但是在我的循环文件中,我有这个,我不明白为什么它会输出一个小部件:

<div class="large-4 columns welcomeText sidebar">
  <?php if ( dynamic_sidebar('Welcome') ) : ?>
  <?php endif; ?>
</div>

if-statment 说如果有动态侧边栏“欢迎”什么都不做???

4

1 回答 1

0

您调用dynamic_sidebar( $index )显示已注册的侧边栏。显示的是位于DashBoard > Appearance > Widgets的已注册侧边栏小部件的内容,该函数在成功时返回 true,在失败时返回 false。

来自WordPress 法典:

返回值应该用于确定是否显示静态侧边栏。这可确保您的主题即使在 Widgets 插件未激活时也看起来不错。

所以你的代码实际上应该是

<?php if ( !dynamic_sidebar('Welcome') ) : ?>
于 2013-04-02T08:26:02.790 回答