Dasselbe Problem hier, da ich der ul die BS-Navigationsklasse hinzufügen wollte. Ich habe /wp-includes/nav-menu-template.php bearbeitet. Ändere das Array $defaults innerhalb der Funktion wp_nav_menu()… füge das benötigte Markup zu ‘items_wrap’ hinzu. Hacky, aber ein Anfang. AP 4.7.2
– Grogenstein
2. Februar 2017 um 7:19 Uhr
toto_tico
Der einfache, aber nicht so nette und eher ein Hack ist die Verwendung von Javascript/jQuery.
Ich mag es wirklich nicht, Javascript zu verwenden, aber in diesem Fall funktioniert es.
Für alle Fälle gibt es einige Möglichkeiten, Javascript zu WordPress hinzuzufügen. Einige sind korrekter als andere, aber Sie können sich auf (die Dokumentation) beziehen.[codex.wordpress.org/Using_Javascript]
Ich habe die Ausgabepufferung verwendet, um die Seitenleisten-Widgets in einer Variablen zu speichern, und dann die String-Ersetzung verwendet, um alle zu finden <ul> Tags und ersetzen Sie sie durch die <ul> Tag mit der Klasse.
Nicht zu gebrauchen:
.widget ul {
.nav;
.nav-pills;
.nav-stacked;
}
bei mir hat es geklappt 😉
schluchzt
Ich habe damit herumgespielt und das funktioniert bei mir.
Die Eigenschaft „class“ fügt die Klasse der gesamten Seitenleiste hinzu, nicht der ul des Widgets. Sie sollten ‘before_widget’ verwenden, um das div mit einem Klassennamen zu platzieren, und dann mit dem css wie folgt darauf zugreifen: .className ul{ /* properties */ }
– Eliran Efron
11. März 2014 um 9:36 Uhr
Nun, es hat früher funktioniert … wie auch immer, Sie können es immer noch verwenden before_widget um den div-Wrapper mit der gewünschten Klasse zu schreiben und dann zu gehen .class_name ul{ /* css code */}
– Eliran Efron
8. Februar 2015 um 3:25 Uhr
Es gibt eine native Lösung, um die einzelnen Widget-Namen als Klassennamen hinzuzufügen Sprintf zu ihrem Behälter:
%1$s repräsentiert die ID und %2$s der Klassenname des Widgets
Es ist nicht erforderlich, den Klassennamen direkt zu hinzuzufügen <ul> wegen dieses möglichen Selektors (jQuery/CSS):
.widget_nav-list > ul (.widget_nav_menu > ul)
Beachten Sie auch, dass der beantwortete jQuery-Code auf alle Widgets in allen Seitenleisten abzielt, auch wenn es sich nicht um eine Navigationsliste handelt (was in Ordnung sein kann, wenn Ihr einziges verwendetes Widget ein Navigationselement ist).
before_widget – HTML, das vor jedem Widget platziert wird (Standard: <li id="%1$s" class="widget %2$s">) Hinweis: verwendet sprintf für die Variablenersetzung
Ich poste in diesem alten Thread, weil es ein Top-Suchergebnis für den Suchbegriff “register_sidebar widgetname” war – also dachte ich, dass es gut ist, hier eine vollständige Antwort zu haben.
Hey, kannst du deinen Code hier posten, damit ich nachsehen kann?
Die Eigenschaft „class“ fügt die Klasse der gesamten Seitenleiste hinzu, nicht der ul des Widgets. Sie sollten ‘before_widget’ verwenden, um das div mit einem Klassennamen zu platzieren, und dann mit dem css wie folgt darauf zugreifen: .className ul{ /* properties */ }
– Eliran Efron
11. März 2014 um 9:36 Uhr
Nun, es hat früher funktioniert … wie auch immer, Sie können es immer noch verwenden before_widget um den div-Wrapper mit der gewünschten Klasse zu schreiben und dann zu gehen .class_name ul{ /* css code */}
– Eliran Efron
8. Februar 2015 um 3:25 Uhr
Verwenden Sie ein benutzerdefiniertes WordPress-Widget: (Keine Notwendigkeit für jQuery oder ein Plugin!!)
Meine Schritte werden mit dem Kategorien-Widget durchlaufen, und Sie können dasselbe für jedes Widget tun.
Benutzerdefiniertes Widget registrieren (in functions.php)
add_action('widgets_init', 'register_custom_widget');
function register_custom_widget() {
register_widget('WP_Widget_Categories_Custom');
}
Kopiere die Datei class-wp-widget-categories.php aus /wp-includes/widgets/ und lege sie neben deine Theme-Dateien /wp-content/themes/-your theme-/widgets/
Kannst du nicht einfach die sidebar.php ändern?
– Paulo Bu
2. Juni 2013 um 16:54 Uhr
Ich verwende die Funktion dynamic_sidebar
– Qing
2. Juni 2013 um 17:25 Uhr
Dasselbe Problem hier, da ich der ul die BS-Navigationsklasse hinzufügen wollte. Ich habe /wp-includes/nav-menu-template.php bearbeitet. Ändere das Array $defaults innerhalb der Funktion wp_nav_menu()… füge das benötigte Markup zu ‘items_wrap’ hinzu. Hacky, aber ein Anfang. AP 4.7.2
– Grogenstein
2. Februar 2017 um 7:19 Uhr