将div设置为widget的内容| WordPress的

时间:2015-11-03 15:46:22

标签: php html css wordpress

我正在Wordpress上创建一个自定义侧边栏来显示独立的块,每个块中都有一个小部件。为此,我在functions.php中注册了widget区域,然后将这些小部件区域添加到我的侧边栏。

侧边栏设置如下:

<aside class="sidebar-right" role="complementary">
<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-1')) ?>
</div>
<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-2')) ?>
</div>
<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-3')) ?>
</div>
<div class="sidebar-widget">
    <?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-4')) ?>
</div>
</aside>

我希望我的侧边栏看起来像这样:https://jsfiddle.net/b7xtksts/

这就是在functions.php中调用小部件的方式:

register_sidebar(array(
    'name' => __('Widget Area 1'),
    'description' => __('Description'),
    'id' => 'widget-area-1',
    'before_widget' => '<div id="%1$s" class="%2$s">',
    'after_widget' => '</div>',
    'before_title' => '<div class="widget-title-background"><h3>',
    'after_title' => '</h3></div>'
));

一切正常,但我想为每个小部件的内容添加填充,而无需编辑原始小部件,以便将来添加的每个小部件都能正确使用padding

但是,如果我将padding设置为<div id="%1$s" class="%2$s" style="padding:10px;">,则将填充添加到整个窗口小部件,以及背景标题(不再填充100%的框) )。 我试图找出如何在不影响上面div标题的情况下为窗口小部件的内容设置填充。由于只有_widget和_title之前/之后,如何才能将类设置为内容?

1 个答案:

答案 0 :(得分:1)

似乎我们无法将任何特定的类添加到窗口小部件的内容主体。

我建议的一个选择是:

  1. 像你那样添加填充到父窗口小部件div。

    .sidebar-插件{       填充:0 10px; }

  2. 为了消除标题背景div上边上10px填充的影响,我们取消了边上的负边距,即

    .widget标题背景{          margin-left:-10px;          margin-right:-10px;     }

  3. 这将使你的标题的阴影阴影绕过角落,取消主要div上的填充效果。