未为定制器中的小部件显示WordPress编辑按钮

时间:2018-01-18 作者:Jordan Carter

铅笔图标没有出现在customizer前端视图中我的小部件上方。

我注册了小部件,如下所示:

function jwd_widgets_init()

{

for ($i = 1; $i <= 9; $i++) {
    register_sidebar(array(
      \'name\'          => esc_html__(\'Widget \' .$i, \'jwd\'),
      \'id\'            => \'widget-\' .$i,
      \'description\'   => esc_html__(\'Add widgets here.\', \'jwd\'),
      \'before_widget\' => \'\',
      \'after_widget\'  => \'\',
  ));
}

}

add_action(\'widgets_init\', \'jwd_widgets_init\');
在我的PHP模板中,这就是我如何调用所讨论的小部件(widget-1)

<?php if (is_active_sidebar("widget-1")): ?>
  <?php dynamic_sidebar("widget-1") ?>
<?php endif; ?>
小部件本身可以工作。我在定制器里盯着它看。我可以通过customizer中的widgets菜单访问它,但将铅笔图标作为快捷方式会方便得多,就像导航菜单一样。我使用的是下划线主题。

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

必须为before_widget/after_widget 当您注册侧栏时。事实上,我几天前刚刚将此添加到主题手册中Widgets: Opting-In To Selective Refresh:

重要提示:小部件的选择性刷新要求主题包括before_widget/after_widget 包含小部件ID的每个小部件周围的包装器元素register_sidebar(). 例如:

register_sidebar(
    array(
        \'name\'          => esc_html__( \'Sidebar\', \'example\' ),
        \'id\'            => \'sidebar-1\',
        \'description\'   => esc_html__( \'Add widgets here.\', \'example\' ),
        \'before_widget\' => \'<section id="%1$s" class="widget %2$s">\', // <= Key for selective refresh.
        \'after_widget\'  => \'</section>\',
        \'before_title\'  => \'<h2 class="widget-title">\',
        \'after_title\'   => \'</h2>\',
    )
);

结束

相关推荐

Using add_filter() in Widgets

只需查询引用add_filter() 作用您可以在WordPress小部件类中使用此函数吗。Example我有一个带有动态创建代码的小部件,我想将其传递给插件中创建的另一个函数。这能实现吗?<?php /** * Display the actual Widget * * @param Array $args * @param Array $instance */ public function widget($args, $inst