Nach einigen Recherchen und basierend auf der Antwort von Eugene Manuilov habe ich eine Funktion erstellt, die Widgets in einer bestimmten Seitenleiste (in meinem Fall 'Seitenleiste unten') benutzerdefinierte Klassen hinzufügt, basierend auf der Anzahl der in dieser Seitenleiste festgelegten Widgets. Dies passt perfekt zu horizontalen Seitenleisten und Themen, die auf Twitter-Bootstrap basieren und die spanX-Klasse benötigen, um die Breite des Elements anzupassen.
function cosmos_bottom_sidebar_params($params) {
$sidebar_id = $params[0]['id'];
if ( $sidebar_id == 'sidebar-bottom' ) {
$total_widgets = wp_get_sidebars_widgets();
$sidebar_widgets = count($total_widgets[$sidebar_id]);
$params[0]['before_widget'] = str_replace('class="', 'class="span' . floor(12 / $sidebar_widgets) . ' ', $params[0]['before_widget']);
}
return $params;
}
add_filter('dynamic_sidebar_params','cosmos_bottom_sidebar_params');
This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
developer.wordpress.org/reference/functions/…get_option( 'sidebars_widgets', array() )
?Wenn Sie das erste und das letzte Widget bearbeiten möchten, können Sie den folgenden Code verwenden. Ich nahm den Code von nautilus7 und kombinierte ihn mit dem Code von MathSmath + durin unter http://wordpress.org/support/topic/how-to-first-and-last-css-classes-for-sidebar-widgets, um auf eine bestimmte Seitenleiste abzuzielen Fügen Sie Span-Klassen basierend auf der Anzahl der Widgets in der Seitenleiste hinzu und fügen Sie dann dem ersten und letzten Widget der Gruppen eine benutzerdefinierte Klasse hinzu.
quelle
quelle
Versuchen wir es mit dem folgenden Code
quelle