Как добавить классы к 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 не добавили этот пункт в массив

21 Авг 2019 в 06:21
219 +1
0
Ответы
1

Для добавления классов к элементам внутри меню на WordPress, вам нужно использовать атрибут walker с собственным классом. В этом классе вы можете переопределить метод start_el, чтобы добавить нужные вам классы к элементам меню.

Пример кода:

class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_el( &output,output, output,item, depth=0,depth = 0, depth=0,args = null, $id = 0 ) {
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
classes[]=′custom−class′;//Добавляемсвойкласскэлементуменюclasses[] = 'custom-class'; // Добавляем свой класс к элементу меню
classes[]=customclass;//Добавляемсвойкласскэлементуменю
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 = "%1s"class="s" class = "%2s"class="s">%3$s</ul>',
'depth' => 0,
'walker' => new Custom_Walker_Nav_Menu(), // Используем свой класс Walker
) );

В этом примере Custom_Walker_Nav_Menu - это ваш собственный класс, который наследуется от Walker_Nav_Menu и переопределяет метод start_el. Внутри этого метода вы добавляете нужные вам классы к элементам меню.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир