Уникальный класс для виджетов
-
Речь о довольно популярной теме
https://wordpress.org/themes/enigma/
Это такие авторы криворукие, что все виджеты имеют одинаковый класс?
Надо применить стили к отдельному виджету, а уникальных классов или id они не имеют…
-
Да, это недосмотр авторов темы. Обычно при регистрации сайдбара в параметре
before_widget
указано примерно следующее:<section id="%1$s" class="widget %2$s">
Здесь
%1$s
— уникальный ID виджета,%2$s
— его класс.В теме Enigma ID отсутствует, а класс задан один для всех виджетов:
<div class="enigma_sidebar_widget">
Надо применить стили к отдельному виджету, а уникальных классов или id они не имеют…
Можно в дочерней теме отключить функцию
weblizar_widgets_init()
и подключить вместо неё исправленный вариант:remove_action( 'widgets_init', 'weblizar_widgets_init' ); function my_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar', 'enigma' ), 'id' => 'sidebar-primary', 'description' => __( 'The primary widget area', 'enigma' ), 'before_widget' => '<div id="%1$s" class="enigma_sidebar_widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<div class="enigma_sidebar_widget_title"><h2>', 'after_title' => '</h2></div>' ) ); register_sidebar( array( 'name' => __( 'Footer Widget Area', 'enigma' ), 'id' => 'footer-widget-area', 'description' => __( 'footer widget area', 'enigma' ), 'before_widget' => '<div id="%1$s" class="col-md-3 col-sm-6 enigma_footer_widget_column %2$s">', 'after_widget' => '</div>', 'before_title' => '<div class="enigma_footer_widget_title">', 'after_title' => '<div class="enigma-footer-separator"></div></div>', ) ); } add_action( 'widgets_init', 'my_widgets_init' );
Круто, спасибо.
Вроде даже в кодексе правильный пример для register_sidebar приведен, а они решили пойти своим путем…
- Тема «Уникальный класс для виджетов» закрыта для новых ответов.