这个widget-item
类位于您正在使用的主题中已注册侧栏的$参数中。如果要将其删除并替换为其他内容,可以使用dynamic_sidebar_params
过滤,或者您可以在主题中找到它(如果您使用的是父主题而不是子主题),然后只需更改它,但是结果可能不是您所期望的,因为填充和边距不是来自该类。
下面的过滤器将添加到子主题函数的最后一个。php文件位于所有其他函数之后和所有函数之外,并且毕竟包含/需要。在此示例中widget-item
将替换为my-widget-class
(您可以更改)。在这种情况下,.widget-item
或者,这里的任何类都为小部件提供了一个全局类,并且没有像您的图像中那样的填充或边距。使用开发人员工具时,可以清楚地看到子元素是带有边距和填充的元素。
function prefix_filter_widget_div_wrappper( $params ) {
$params[0][\'before_widget\'] = \'<div class="my-widget-class %2$s">\' ;
$params[0][\'after_widget\'] = \'</div>\' ;
return $params;
}
add_filter( \'dynamic_sidebar_params\' , \'prefix_filter_widget_div_wrappper\' );
你现在的问题是
.newsletter
的子女
.widget-item
如果使用CSS专用性,则可以调整位置的外观:
.newsletter {
padding: 25px;
..etc.
}
像这样:
.site-footer .newseltter {
padding: 10px;
margin: 0;
}
有条件的
dynamic_sidebar_params
过滤器
Locate your registered sidebar ID by looking for where it is registered in your theme functions php file(s) parent or child.
function prefix_filter_widget_div_wrappper_conditional( $params ) {
//* where `register-sidebar-id` is the registered sidebar id (you would look for this in your theme\'s code)
if ( \'registered-sidebar-id\' === $params[0][ \'id\' ] ) :
$params[0][\'before_widget\'] = \'<div class="my-widget-class %2$s">\' ;
$params[0][\'after_widget\'] = \'</div>\' ;
endif;
return $params;
}
add_filter( \'dynamic_sidebar_params\' , \'prefix_filter_widget_div_wrappper_conditional\' );