自定义构建的微件上的注册侧栏‘After_Widget’未实现,导致嵌套微件

时间:2013-11-26 作者:tommyf

在注册侧边栏时,我希望每个小部件都包含在<aside>. 这在使用内置小部件(如日历或搜索)时效果很好,但是,当我添加自己创建的小部件时,关闭<aside> 未获得输出。因此,我得到的结构类似于:

<widgets-area>
    <custom-widget>
        <custom-widget>
        </custom-widget>
    </custom-widget>
</widgets-area>
当它看起来像:

<widgets-area>
    <custom-widget>
    </custom-widget>
    <custom-widget>
    </custom-widget>
</widgets-area>

register_sidebar

register_sidebar( array(
    \'name\'          => __( \'Sidebar\', \'mysite\' ),
    \'id\'            => \'sidebar-1\',
    \'before_widget\' => \'<aside id="%1$s" class="widgets__widget widgets__widget--%2$s">\',
    \'after_widget\'  => \'</aside>\',
    \'before_title\'  => \'<h1 class="widgets__widget__title">\',
    \'after_title\'   => \'</h1>\',
) );
我的自定义小部件的代码包括echo $args[\'before_widget\']echo $args[\'after_widget\'] 我想这是用来回显中声明的“before\\u widget”和“after\\u widget”代码的register_sidebar().

为什么我的自定义窗口小部件不能正确关闭,而内置窗口小部件却关闭了?我错过了什么?除了结构之外,自定义小部件功能正常。

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

结果是我覆盖了widget($args) 在小部件中,因此before_widget 得到回应,但不是after_widget.

我重命名了widget($args) 变量以及对它的所有引用,然后插件按预期运行。

结束

相关推荐

show tags on "single"-template sidebar only

如果一篇帖子有标签,我想在查看单个帖子时,只在侧栏中显示这些标签作为列表;我该怎么做?我已经搜索了一个合适的插件,但没有找到,因为我查找的所有插件最终都显示了网站上的每个标签或类别。我很乐意使用非插件解决方案。