Поддержка Проблемы и решения Не могу подставить нужный class в выпадающее меню 2 го порядка

  • Здравствуйте знакомлюсь с wordpress, и столкнулся с огромной для себя проблемой, не могу прикрепить нужный class к выпадающему списку меню 2 уровня…
    Использую фреймворк uikit

    Разметка меню выглядит так:

    <ul class="uk-navbar-nav">
      <li class="uk-active"><a href="#">Пункт меню</a></li>
      <li><a href="#" uk-icon="icon: chevron-down">Пункт меню</a>
        <div class="uk-navbar-dropdown">
    	  <ul class="uk-nav uk-navbar-dropdown-nav">
    	    <li><a href="#">Подпункт меню</a></li>
    		<li><a href="#">Подпункт меню</a></li>
    		<li><a href="#">Подпункт меню</a></li>
    	  </ul>
    	 </div>
    	</li>
    	<li><a href="#">Пункт меню</a></li>
    </ul>

    в header.php вывожу так:

    <?php wp_nav_menu( array( 
      'theme_location' => 'uk-navbar-nav', 
      'depth' => 0,
      'menu_class' => 'uk-navbar-nav',
      'container' => false));
    ?>

    в functions.php регю так:

    php
    register_nav_menus(array(
    	'uk-navbar-nav' => 'Верхнее горизонтальное меню',
    	'footer' => 'Нижнее меню'
    ));

    Результат:

    http://prntscr.com/f2evx3 (скрин)

    То есть не работает меню 2 порядка, вот скрин кода: http://prntscr.com/f2ewqd

    Ещё не понятно сделать активным .uk-active чтобы при переходе в любую категорию было видно где нахожусь…

Просмотр 15 ответов — с 16 по 30 (всего 40)
  • и все таки я не панимаю, что за такая нужда писать вручную меню….
    какого такого функцианала не хватает в самом движке?

    tuxfighter
    Как мне в 2 оборачивающих контейнера выпадающего меню добавить свои clsss.

    Скрин: http://prntscr.com/f2kjki

    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.
    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.
    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.

    выше есть скрин на админку «меню» — хоть задабовляйтесь

    спрошу еще раз — зачем понадобилось устраивать себе такие трудности на ровном месте?

    Блииин… Ну какой скрин, ну не туда добавляются стили куда надо… Покажите мне пожалуйста тогда как вы это делаете… Вот вам мой шаблон

    https://yadi.sk/d/Avf8wn5l3HWDpn

    который пилю, покажите пожалуйста что выпадающее меню может работать там. Как бы вы сделали?

    Я думаю у вас не получится

    может поможет эта ссылка вам https://wp-kama.ru/function/wp_get_nav_menu_items

    Или, если делать для себя и не часто менять эти пункты меню, то прописал бы все ссылки менюшек прямо в шаблоне, тем более header.php вы все равно редактировали

    mazletop, стили в админке можно задать только пунктам меню, в чём вы уже успели убедиться.

    Насколько поняла из ваших слов, ВП просто не дает втиснуть свою div обертку для выпадающего меню. Для «внешнего меню» — это пожалуйста, для «внутреннего» только ul и всё. Мне кажется, он и не даст вам это сделать, так как для него это два разных типа меню, если хотите… причем второй с обрезанным, так сказать, «функционалом».

    Вам 2 раза задали вопрос, но вы так внятно на него не ответили. Зачем вам понадобилась своя обертка для выпадающего меню? Зачем вам туда втискивать свои классы? Вы можете ответить на этот простой вопрос? Вы показали текущую структуру меню и идеальную (которую бы хотели получить).

    Вам недостаточно для подменю его родного класса: sub-menu

    Вы хотите навесить на этот элемент ещё 2 своих класса: uk-nav и uk-navbar-dropdown-nav. Плюс вам ещё позарез понадобилась дополнительная обертка с классом uk-navbar-dropdown.

    Барабанная дробь: ЗАЧЕМ?

    Какую цель вы пытаетесь достичь, устраивая себе такие сложности? Может есть другой способ решить проблему. Или вам нужна своя идеальная структура ради структуры?

    P.S. Попробуйте добавить фильтр в файл функций:

    Это вложенный див не создаст, но позволит добавить 2 нужных класса к вложенному списку.

    function new_submenu_class($menu) {    
        $menu = preg_replace('/ class="sub-menu"/','/ class="yourclass" /',$menu);        
        return $menu;      
    }
    add_filter('wp_nav_menu','new_submenu_class'); 
    • Ответ изменён 6 лет, 12 месяцев назад пользователем Satico.
    • Ответ изменён 6 лет, 12 месяцев назад пользователем Satico.

    Satico

    Вам 2 раза задали вопрос, но вы так внятно на него не ответили. Зачем вам понадобилась своя обертка для выпадающего меню? Зачем вам туда втискивать свои классы? Вы можете ответить на этот простой вопрос? Вы показали текущую структуру меню и идеальную (которую бы хотели получить).

    Здравствуйте, я ответил, uk-nav и uk-navbar-dropdown-nav и др. хренотень это стили фреймворка uikit3 https://getuikit.com/docs/navbar (вот эта самая менюшка)

    Там вообще пока нету моих стилей, я ничего не писал в этом шаблоне своего, просто накидал готовые компоненты.

    Так уж устроена эта менюшка с обертками своими.

    Какую цель вы пытаетесь достичь, устраивая себе такие сложности? Может есть другой способ решить проблему. Или вам нужна своя идеальная структура ради структуры?

    Я хочу делать сайты на ВП с помощью фреймворка uikit3, мне но очень нравится, и ещё парочку др. использовать.
    Для начала моя задача заставить работать готовые компоненты…Но пока с менюшкой что то не очень пошло. Я не программист, я просто верстальщик и дизайнер…

    qwert555 (@qwert555)

    Или, если делать для себя и не часто менять эти пункты меню, то прописал бы все ссылки менюшек прямо в шаблоне, тем более header.php вы все равно редактировали

    Ну пока для себя делаю… придется прямо в шаблоне писать, не думал что столкнусь с такими проблемами.

    Хотелось конечно в будущем клепать шаблоны на uikit3 для вордпресс, но чую я это целая проблема… Если только на bootstrap опять переходить.

    Это вложенный див не создаст, но позволит добавить 2 нужных класса к вложенному списку.

    может поможет эта ссылка вам https://wp-kama.ru/function/wp_get_nav_menu_items

    Спасибо за информацию, изучаю.

    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.
    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.
    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.
    • Ответ изменён 6 лет, 12 месяцев назад пользователем mazletop.

    mazletop, здравствуйте. Ну так раз фреймворк их создает, пусть себе будут… видимо, под них стили в CSS прописаны. Просто из вашей темы создается впечатление, что все эти классы вам нужны, а они не добавляются.

    я ответил, uk-nav и uk-navbar-dropdown-nav и др. хренотень это стили фреймворка uikit3 https://getuikit.com/docs/navbar (вот эта самая менюшка)

    Вы не на то отвечаете, о чём Вас спрашивают.
    Вы «на своей волне», но так и не сказали ни ЗАЧЕМ, ни какая ЦЕЛЬ, ни даже «Вы чему хотите задать стили? Каким элементам?«.

    Я хочу делать сайты на ВП с помощью фреймворка uikit3

    При этом не зная ни ВП ни даже php? Однако…

    Может стоит начать с оф тем, разобраться в их устройстве и иерархии шаблонов узнать функции, научиться делать дочерние в конце-концов и тд и тп.

    Satico

    Да, мне эти стили нафиг не нужны, они нужны для работы выпадающего меню 2 порядка в uikit3

    SeVlad

    Я видимо не умею объяснять, раз меню никто не понимает…
    Но я попробую ещё раз.

    Вы не на то отвечаете, о чём Вас спрашивают.
    Вы «на своей волне», но так и не сказали ни ЗАЧЕМ, ни какая ЦЕЛЬ, ни даже «Вы чему хотите задать стили? Каким элементам?«.

    ЗАЧЕМ

    Чтобы работали выпадающие пункты меню у менюшки https://getuikit.com/docs/navbar которая является частью uikit3

    ЦЕЛЬ

    Управление навигацией из админки ВП

    «Вы чему хотите задать стили? Каким элементам?«.

    К блокам которые указаны на этом скрине: http://prnt.sc/f2kjki которые являются частью меню https://getuikit.com/docs/navbar и отвечают на выпадающие пукты 2го порядка фреймворка uikit3

    Я хочу делать сайты на ВП с помощью фреймворка uikit3

    При этом не зная ни ВП ни даже php? Однако…

    Да, 3 день изучаю ВП, и я его изучу, мне придется это сделать… Я не знаю php пока, теперь точно придется изучить… в приоритете стояла java..

    SeVlad, :))

    mazletop, вам действительно стоило бы с самого начала детально объяснить, что есть, и что хотите получить на выходе.

    Если правильно понимаю: фреймворк создает для вложенного меню свою обертку и свои классы для ul. К этим классам привязаны стили для выпадающего меню в файле CSS.

    Но когда вы регистрируете меню стандартным способом, обертка и стили у подменю не добавляются, из-за чего к подменю не применяются необходимые стили. На скрине в первом сообщении это видно — подменю отображается криво, у него даже маркеры списка появились.

    Я правильно подвела итог двух исписанных страниц текста? 🙂

    • Ответ изменён 6 лет, 12 месяцев назад пользователем Satico.

    в приоритете стояла java

    java вообще никаким боком к ВП и php. (вот JavaScript=js, другое дело)

    Учитывая выше изложенное я всё же ещё раз рекомендую — забыть про всякие мутные фрейморки (да и вообще любые) и начать с азов, перечисленных мной выше.

Просмотр 15 ответов — с 16 по 30 (всего 40)
  • Тема «Не могу подставить нужный class в выпадающее меню 2 го порядка» закрыта для новых ответов.