Интеграция пользовательского меню начальной загрузки (пользовательские идентификаторы / классы) в Wordpress (wp_nav_menu)

У меня адское время с этим вопросом. Все, кроме этого, отлично сработало для меня, так что надеюсь, что смогу получить отзывы. Я разработал статический веб-сайт с помощью Twitter-начальной загрузки и внес несколько изменений в структуру. Преобразование его в динамическую тему WordPress. У меня есть navbar-left и navbar-right ul, потому что при больших размерах (sm-lg) логотип появляется в центре моей панели навигации, с 3 ссылками слева и 3 ссылками справа.

Все прекрасно работает, кроме случаев, когда я пытаюсь применить свои стили к сгенерированному wp_nav_menu. Я действительно не понимаю эту часть этого, так что надеюсь на простое объяснение там. Я попытался добавить пользовательские CSS в меню (добавили его в каждый пункт меню в основном в Wordpress), но безуспешно. Я также понимаю, что Nav Walker должен быть установлен, что не проблема. Ниже приведен HTML-код для этого:

          <!-- Collect the nav links, forms, and other content for toggling -->

            <div id="navbar-collapse-main" class="collapse navbar-collapse">
                <ul id="left-side-nav" class="nav navbar-nav navbar-left">
                    <li><a class="nav-links" href="page-home.php">Home</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle nav-links" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Menu<span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-links" href="#">Drink Menu</a></li>
                            <li><a class="dropdown-links" href="#">Food Menu</a></li>
                            <li><a class="dropdown-links" href="#">Specials</a></li>
                        </ul>
                    </li>
                    <li><a class="nav-links" href="#">Order</a></li>
                </ul>
                <!-- /#left-side-nav -->

                <ul id="right-side-nav" class="nav navbar-nav navbar-right">
                    <li><a class="nav-links" href="#">Catering</a></li>
                    <li><a class="nav-links" href="#">Our Story</a></li>
                    <li><a class="nav-links" href="#">Contact</a></li>
                </ul>
                <!-- /#right-side-nav -->
            </div>
            <!-- /.navbar-collapse --> 
        </div>
        <!-- /.container -->
    </nav>
    <!-- /#main-nav -->

и вот это wp_nav_menu

            <?php 
            wp_nav_menu( array(
                'theme_location'        => 'primary',
                'container'             => 'nav', 
                'container_id'          => 'navbar-collapse-main',
                'container_class'       => 'collapse navbar-collapse',
                'menu_class'            => 'navbar-right navbar-left'
                ) );
            ?>

1 ответ

Решение

Параметры этой функции - почти все строки, поэтому, насколько я знаю, вы не можете использовать ее для вызова двух меню одновременно.

Что бы я сделал, это что-то вроде этого:

<div id="navbar-collapse-main" class="collapse navbar-collapse">
<?php
wp_nav_menu( array(
                'menu'        => 'YOUR_MENU_ID',
                'menu_id'     => 'left-side-nav',
                'menu_class'  => 'navbar-left'
            ) );
wp_nav_menu( array(
                'menu'        => 'YOUR_MENU_ID',
                'menu_id'     => 'right-side-nav',
                'menu_class'  => 'navbar-right'
            ) );
?>
</div>

И вы можете абилитировать опцию "CSS-классы" в "Параметры экрана" на странице администрирования меню, а затем вы можете добавить пользовательские классы к своим пунктам меню.

Другие вопросы по тегам