如何在WordPress Widget内容周围添加包装器Div/Container元素

时间:2013-11-07 作者:Satya Prakash

我想将样式应用于Wordpress的小部件内容,但我看到小部件内容区域并没有统一的类。TextWidget有类“TextWidget”,这是统一的,但其他小部件有“ul”作为元素,例如,类也不同。

我可以在Wordpress中每个小部件的内容部分周围添加任何包装器或特定类吗?

我得到了这个:

function my_widget_content_wrap($content) {
    $content = \'<div class="widget-content">\'.$content.\'</div>\';
    return $content;
}
add_filter(\'widget_text\', \'my_widget_content_wrap\'); 
但它只适用于我不需要的textwidget。

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

这个register_sidebar 函数具有\'before_widget\'\'after_widget\' 默认情况下添加的参数<li> 具有类的标记widget 围绕每个小部件。您可以在主题中更改它,以添加其他<div> 每个小部件周围,如果li.widget 还不够好CSS Selector 或者如果你的主题删除了它。

我不知道有什么选择register_sidebar() 功能为您的主题。您必须更改此代码以适合您的主题。

register_sidebar( array(
    \'name\'          => __( \'Sidebar name\', \'theme_text_domain\' ),
    \'id\'            => \'unique-sidebar-id\',
    \'description\'   => __( \'Sidebar name description\', \'theme_text_domain\' ),
    \'class\'         => \'\',
    \'before_widget\' => \'<li id="%1$s" class="widget %2$s"><div class="widget-content">\',
    \'after_widget\'  => \'</div></li>\',
    \'before_title\'  => \'<h2 class="widgettitle">\',
    \'after_title\'   => \'</h2>\'
) );
编辑:

为了只隔离内容,您可以设置小部件中的所有内容的样式,然后设置标题的样式。例如,在样式表中,执行以下操作:

.widget .widgettitle {
    /** Style the widget title. */
}

.widget {
    /** Style the whole widget. */
}
The.widget .wigettitle 选择器具有更大的specificity 并将覆盖中的匹配样式.widget. 最终的效果是,只有小部件内容会受到覆盖样式的影响。

结束

相关推荐

Widgets in the loop if active

我正在尝试将一个小部件作为“第一个帖子”,如果它处于活动状态。。然后让帖子继续。。它可以工作,但第一篇帖子消失了,第二篇帖子成为小部件后的第一行。。看不出我做错了什么。。正如你所看到的,我已经有一个小部件显示在帖子之间。<?php if (have_posts()) : ?> <?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; ?> <?php $i=1;?>