@denism300

Как в WordPress добавить блок span к раскрывающемуся пункту меню?

Есть многоуровневое меню. Как ссылку пункта, который имеет подпункты, изменить с
<li>
    <a>ссылка</a>
</li>

на
<li>
    <a>ссылка <span>что-то тут</span></a>
</li>
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
@denism300 Автор вопроса
решение, если вдруг кому пригодится
class My_Walker_Mob_Menu extends Walker_Nav_Menu {
	function start_el(&$output, $item, $depth, $args) {
		// назначаем классы li-элементу и выводим его
		$class_names = join( ' ', $item->classes );
		$class_names = ' class="' .esc_attr( $class_names ). '"';
		$output.= '<li id="menu-item-' . $item->ID . '"' .$class_names. '>';

		// назначаем атрибуты a-элементу
		$attributes.= !empty( $item->url ) ? ' href="' .esc_attr($item->url). '"' : '';
		$item_output = $args->before;

		// проверяем, есть ли класс menu-item-has-children и, если есть, модифицируем ссылку
		if (strpos($class_names, 'menu-item-has-children')) 
			$item_output.= '<a'. $attributes .'>'.$item->title.'<span></span></a>';
		else 
			$item_output.= '<a'. $attributes .'>'.$item->title.'</a>';

		// заканчиваем вывод элемента
		$item_output.= $args->after;
		$output.= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы