微件在Customizr中不起作用,但在外观中起作用

时间:2016-02-12 作者:Hiriji

我的小部件有点问题。我已经正确注册了widget区域;小部件显示在“外观”菜单中。然而,widget没有显示在WP的customizer部分;获取此错误:

预览中当前没有呈现的小部件区域。在预览中导航到使用小部件区域的模板,以便在此处访问其小部件

我尝试过这里提到的解决方案:Widgets not displaying in theme customizer 还有这里Widgets Section not displaying in theme customizer 但运气不好。

我的代码是:

register_sidebar(array(
            \'name\' => \'Sidebar Widgets\',
            \'id\' => \'sidebar-widgets\',
            \'before_widget\' => \'<section class="widget">\',
            \'after_widget\' => \'</section>\',
            \'before_title\' => \'<h4>\',
            \'after_title\' => \'</h4>\'
        ));

<?php if ( is_active_sidebar( \'sidebar-widgets\' ) ) : ?>
        <?php dynamic_sidebar(\'sidebar-widgets\'); ?>
        <?php endif; ?>
运行WordPress 4.4.2。

我试过以下几件事:1。尝试在不同模板(标题、首页、索引)中使用dynamic\\u侧边栏。2、尝试按建议导航到不同页面,运气不佳3。无控制台错误4。在不同的WordPress安装上尝试了主题,没有运气5。尝试了另一个主题,小部件工作正常

我可以添加其他代码来帮助解决此问题吗?

1 个回复
SO网友:Mark Kaplun

定制程序需要“显示”侧栏,以便检测页面上是否存在侧栏。在代码中,只有当侧栏处于“活动”状态时,才显示侧栏,这意味着侧栏中至少有一个小部件,否则当没有小部件时,侧栏不会显示,因此定制程序无法检测到它。

不检查侧栏“活动”,则display_sidebar 输出应为空div 如果其中不存在小部件,那么阻止其执行就没有真正的意义。

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'