1

我知道这个话题已经讨论了很多,但我已经尝试了我能在网上找到的所有东西,但没有任何效果。我的自定义模板中需要一个小部件区域。我从头开始编写 if 并且没有使用准系统类型的启动器,因此我没有可以从 functions.php 开始。

在 wp-admin 中,它会按原样显示我的小部件,但是当该区域中有小部件并且重新加载页面时,它会重置。换句话说,小部件不会持续存在于它应该存在的区域中。我错过了什么吗?我的 wordpress 安装不好吗?

这是我的functions.php的全部内容

<?php
register_sidebar
    (
        array(
            'name' => 'Header Widget',
        'id' => 'headerBanner',
        'before_widget' => '<div id="banner">',
        'after_widget' => '</div>',
        'before_title' => '',
        'after_title' => '',
    )
)

?>

和我的 index.php

<?php if ( !dynamic_sidebar (1)) : ?>
<h1>it didn't work</h1>
<?php endif; ?>
4

2 回答 2

2

尝试:

<?php if(!dynamic_sidebar ('headerBanner')) : ?>
<h1>it doesn't work</h1>
<?php endif; ?>

调用时需要传入要显示的侧边栏的iddynamic_sidebar

另请注意,dynamic_sidebar如果侧边栏中没有添加任何小部件,则将返回 false,因此向其添加小部件并查看它是否有效

于 2012-12-13T21:14:16.347 回答
0

您是否尝试过这种其他方法?

<?php dynamic_sidebar( 'headerBanner' ); ?>
于 2012-12-13T22:02:40.497 回答