Поддержка Проблемы и решения Многоуровневое меню ?

  • Добрый день,
    Новичок в WordPress

    Сайт: http://www.9zalov.ru
    Подскажите пожалуйста, при создании многоуровневого меню — крыво отображается.

    Было два пункт («Аренда залов», «Студия красоты») с подпунктами, а теперь решил их перенести эти два пункта вместе с подпунктами в новь созданное пункт «Доп.услуги»

    Как только их перетаскиваю — третий уровень крыво отображается.
    Проблема только в css или что то не так делаю — ?

    Что б не нарушать меню перенес пока один пункт — «Студия красоты» — крыво все равно отображается (два треугольничка, всегда открытый подпункты). А если еще перенести «Аренда залов» — так вообще бред будет.

    Помогите разобраться пожалуйста.

    • Тема изменена 6 лет, 11 месяцев назад пользователем warlocksp.
Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Высылаю скриншот:

    С меню вопрос решил — подкорректировал css.
    Осталось убрать «треугольники» — как это исправить, не могу понять

    В подпункте «Студия Красоты» — их два и вверху появился — как это исправить?

    
    
            // build html
            $output .= $indent . '<li id="nav-menu-item-' . $item->ID . '" class="' . $depth_class_names . ' ' . $class_names . '">';
    
            // link attributes
            $attributes = !empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) . '"' : '';
            $attributes .= !empty($item->target) ? ' target="' . esc_attr($item->target) . '"' : '';
            $attributes .= !empty($item->xfn) ? ' rel="' . esc_attr($item->xfn) . '"' : '';
            $attributes .= !empty($item->url) ? ' href="' . esc_attr($item->url) . '"' : '';
            $attributes .= ' class="menu-link ' . ($depth > 0 ? 'sub-menu-link' : 'main-menu-link') . '"';
            //add caret when needed
    
            if (in_array('menu-item-has-children', $item->classes)) {
                print_r($args->link_after);
                $args->link_after .= '<span class="caret"></span>';
            } else {
                $args->link_after = '';
            }
    
            $item_output = sprintf('%1$s<a%2$s>%3$s%4$s%5$s</a>%6$s',
                $args->before,
                $attributes,
                $args->link_before,
                apply_filters('the_title', $item->title, $item->ID),
                $args->link_after,
                $args->after
            );
    
            // build html
            $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
    
        }
    }
    

    Скриншот:убрать треугольники лишние

    Решение оказалось простым — решил вопрос самостоятельно:

    
            if (in_array('menu-item-has-children', $item->classes)) {
               // print_r($args->link_after); - за комментировать
               // $args->link_after .= '<span class="caret"></span>'; - и без точки, перед равно.
                $args->link_after = '<span class="caret"></span>';
            } else {
                $args->link_after = '';
            }
    

    Вопрос закрыт — прошу удалить тему.

    • Ответ изменён 6 лет, 11 месяцев назад пользователем warlocksp.
    Модератор Yui

    (@fierevere)

    永子

    Вопрос закрыт — прошу удалить тему.

    темы не удаляются, спасибо что поделились решением,
    возможно оно поможет кому-либо еще

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Многоуровневое меню ?» закрыта для новых ответов.