Unique widget id in sidebar

时间:2012-02-07 作者:PrivateUser

这是我的边栏代码

register_sidebar(array(
        \'name\' => \'Post Sidebar\',
        \'before_widget\' => \'<div id="%1$s" class="widget %2$s">\',
        \'after_widget\' => \'</div></div>\',
        \'before_title\' => \'<div class="titlediv">\',
        \'after_title\' => \'</div><div class="widgetdiv">\',
    ));
上面的代码在单独的div中显示小部件标题和小部件内容。我想把它们放在单独的div中,因为我想在widget中实现折叠特性。

现在我的问题来了。我不想那样id 在widget之前。我需要它在标题之后。我这样修改了代码

register_sidebar(array(
            \'name\' => \'Post Sidebar\',
            \'before_widget\' => \'<div class="widget %2$s">\',
            \'after_widget\' => \'</div></div>\',
            \'before_title\' => \'<div class="titlediv">\',
            \'after_title\' => \'</div><div id="%1$s"  class="widgetdiv">\',
        ));
但它不起作用。有人能帮我吗?谢谢

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

无意冒犯,但你的代码完全是一团糟,所以我只想给你一个干净的代码,然后告诉你如何瞄准它。

register_sidebar( array(
        \'name\' => \'Post Sidebar\',
        \'before_widget\' => \'<div id="%1$s" class="widget widget-%2$s">\',
        \'after_widget\'  => \'</div>\',
        \'before_title\'  => \'<div class="titlediv">\',
        \'after_title\'   => \'</div>\',
) );
然后通过id定位标题,您可以使用CSS并说#id .titlediv. 这样,您就可以保留针对整个小部件的功能,并且可以单独针对标题。

关于我所做的更改:我知道您正在将小部件内容包装到<div>, 但这不是正确的方法。这样的内容包装应该在小部件的代码中完成,而不是在小部件定义代码中完成,因为某些小部件将无法使用该方法正确显示。

结束

相关推荐

Give Editor Access To Sidebar

我想让编辑器角色有权编辑提要栏及其内容。我有一个文本小部件在那里,为了编辑这个文本小部件,用户需要是管理员-这太糟糕了。如何授予编辑器角色权限,使其能够编辑侧边栏?