Как добавить классы к menu на Wordpress? Есть Menu на WordPress имеет класс .menu подрубаю меню через wp таким образом '', 'menu' => '', 'container' => 'ul', 'container_class' => 'menu', 'container_id' => '', 'menu_class' => 'menu', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '%3$s', 'depth' => 0, 'walker' => '', ) ); ?>
, но так как элементы внутри меню тоже имеют классы, то они не стлизизуются Как добавить классы к элементам внутри меню? Вообще не понимаю, почему разработчики WP не добавили этот пункт в массив
Для добавления классов к элементам внутри меню на WordPress, вам нужно использовать атрибут walker с собственным классом. В этом классе вы можете переопределить метод start_el, чтобы добавить нужные вам классы к элементам меню.
В этом примере Custom_Walker_Nav_Menu - это ваш собственный класс, который наследуется от Walker_Nav_Menu и переопределяет метод start_el. Внутри этого метода вы добавляете нужные вам классы к элементам меню.
Для добавления классов к элементам внутри меню на WordPress, вам нужно использовать атрибут walker с собственным классом. В этом классе вы можете переопределить метод start_el, чтобы добавить нужные вам классы к элементам меню.
Пример кода:
class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {function start_el( &$output, $item, $depth = 0, $args = null, $id = 0 ) {
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
$classes[] = 'custom-class'; // Добавляем свой класс к элементу меню
$output .= '<li class="' . esc_attr( implode( ' ', $classes ) ) . '">';
$output .= $args->link_before . '<a href="' . $item->url . '">' . $item->title . '</a>' . $args->link_after;
}
}
wp_nav_menu( array(
'theme_location' => '',
'menu' => '',
'container' => 'ul',
'container_class' => 'menu',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id = "%1$s" class = "%2$s">%3$s</ul>',
'depth' => 0,
'walker' => new Custom_Walker_Nav_Menu(), // Используем свой класс Walker
) );
В этом примере Custom_Walker_Nav_Menu - это ваш собственный класс, который наследуется от Walker_Nav_Menu и переопределяет метод start_el. Внутри этого метода вы добавляете нужные вам классы к элементам меню.