добавить в код меню
<span>что-то тут</span>
добавить в код меню
<span>что-то тут</span>
спасибо, о Капитан Очевидность!
а как добавить? я, пока что с Walker не совсем разобрался, поэтому и спрашиваю
а как добавить?
желательно руками.
вы действительно уверены что попали на форум телепатов?
как вы делаете это меню, как вы его выводите?
это родное от ВП?
это какой-то плагин?
ваша собственная разработка?
Вы не слышали народную айтишную мудрость — чем полнее описана задача, тем быстрее получите решение?
меню стандарно сделанное в админке
Делаю так:
$mobile_menu = wp_nav_menu(
array(
'theme_location'=> 'mobile-menu',
'menu_id' => 'mobile-menu',
'menu_class' => 'navbar',
'fallback_cb' => 'wp_page_menu',
'echo' => false,
'walker' => new My_Walker_Nav_Menu()
)
);
вывожу так:
echo $mobile_menu;
My_Walker_Nav_Menu вот
class My_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth = 0, $args = Array()) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"dropdown-menu\">\n";
}
}
меню стандарно сделанное в админке
Делаю так:
вы как—то определитесь: «стандартное» или «делаю так»?
если стандартное, то что значит «делаю так»?
в любой теме «так» уже все сделано
вы как—то определитесь: «стандартное» или «делаю так»?
если стандартное, то что значит «делаю так»?
в любой теме «так» уже все сделано
что конкретно не понятно?
есть меню, сделанное в админке. далее, я записываю меню, предварительно обработанное My_Walker_Nav_Menu, а так же, с учетом необходимых параметров, заданных в качестве аргументов к wp_nav_menu в переменную $mobile_menu, затем, в нужном месте шаблона я вывожу меню с помощью команды
echo $mobile_menu;
теперь понятно?
ааа…. вы в очередной раз строите костыльный велосипед, путем создания «своей темы»?
ааа…. вы в очередной раз строите костыльный велосипед, путем создания «своей темы»?
я в очередной раз пытаюсь попросить помощи в решении вопроса, однако <однако уважаем других и правила форума>
-
Ответ изменён 5 лет, 6 месяцев назад пользователем Yui. Причина: диагнозы ставит врач, уважайте других форумчан
Решение ниже, <п 13 правил форума>
class My_Walker_Mob_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth = 0, $args = Array()) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"dropdown-menu\">\n";
}
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 );
}
}
-
Ответ изменён 5 лет, 6 месяцев назад пользователем Yui. Причина: п13