Нужна помощь с добавлением пользовательского меню и подменю в WordPress.

Вопрос или проблема

Я настроил свое HTML-пользовательское меню, и оно отлично работает для статического шаблона. Я хочу преобразовать его в меню навигации WordPress. Я совершенно нов в WordPress и хочу помощи, чтобы преобразовать HTML-меню в WordPress.

Вот HTML-код:

<div id="cs-header-menu">
                <div class="cs-container">
                    <!-- Основная навигация -->
                    <div class="cs-toggle-main-navigation"><i class="fa fa-bars"></i></div>
                    <nav id="cs-main-navigation" class="cs-clearfix">
                        <ul class="cs-main-navigation cs-clearfix">
                            <li class="current-menu-item"><a href="#"><span>Главные страницы</span></a>
                                <ul class="sub-menu">
                                    <li><a href="index-1.html">Главная страница 1</a></li>
                                    <li><a href="index-2.html">Главная страница 2</a></li>
                                    <li><a href="index-3.html">Главная страница 3</a></li>
                                    <li><a href="index-4.html">Главная страница 4</a></li>
                                </ul>
                            </li>
                            <li><a href="blog_layout_1.html">Образ жизни</a></li>
                            <li><a href="blog_layout_1.html">Красота</a></li>
                            <li><a href="blog_layout_1.html">Путешествия</a></li>
                        </ul>
                    </nav>
                    <!-- Иконка поиска -->
                    <div id="cs-header-menu-search-button-show"><i class="fa fa-search"></i></div>
                    <!-- Форма поиска -->
                    <div id="cs-header-menu-search-form">
                        <div id="cs-header-menu-search-button-hide"><i class="fa fa-close"></i></div>
                        <form>
                            <input type="text" placeholder="Введите и нажмите Enter...">
                        </form>
                    </div>
                </div>
            </div>
        </div>

Я не знаю, как использовать классы и идентификаторы для div, nav, ul и li, а также для элементов подменю. Поделитесь работой, пожалуйста. Заранее спасибо.

Используйте этот код ниже для динамического меню:

                        <?php
                            $args = array(
                            'theme_location'    => '',
                            'menu'              => 'Main',
                            'container'         => 'false',
                            'container_class'   => '',
                            'container_id'      => '',
                            'menu_class'        => 'cs-main-navigation cs-clearfix',
                            'menu_id'           => '',
                            'echo'              => true,
                            'fallback_cb'       => 'wp_page_menu',
                            'before'            => '',
                            'after'             => '',
                            'link_before'       => '',
                            'link_after'        => '',
                            'items_wrap'        => '<ul id="%1$s" class="%2$s">%3$s</ul>',
                            'depth'             => 0,
                            //'walker'            => new my_custom_walker_nav_menu()
                            );

                        wp_nav_menu ($args);
                                  ?>
                    </nav>
                    <!-- Иконка поиска -->
                    <div id="cs-header-menu-search-button-show"><i class="fa fa-search"></i></div>
                    <!-- Форма поиска -->
                    <div id="cs-header-menu-search-form">
                        <div id="cs-header-menu-search-button-hide"><i class="fa fa-close"></i></div>
                        <form>
                            <input type="text" placeholder="Введите и нажмите Enter...">
                        </form>
                    </div>
                </div>
            </div>
        </div>

Для получения дополнительной информации, пожалуйста, смотрите Это ….. Надеюсь, это решит вашу проблему

<div id="cs-header-menu">
    <div class="cs-container">
        <!-- Основная навигация -->
        <div class="cs-toggle-main-navigation"><i class="fa fa-bars"></i></div>
            <nav id="cs-main-navigation" class="cs-clearfix">
                    <?php
                        wp_nav_menu( array(
                            'theme_location' => 'primary',
                            'container'     => '',
                            'menu_class'     => 'cs-main-navigation cs-clearfix"',
                         ) );
                    ?>
            </nav>
            <!-- Иконка поиска -->
            <div id="cs-header-menu-search-button-show"><i class="fa fa-search"></i></div>
            <!-- Форма поиска -->
            <div id="cs-header-menu-search-form">
                <div id="cs-header-menu-search-button-hide"><i class="fa fa-close"></i></div>
                <form>
                    <input type="text" placeholder="Введите и нажмите Enter...">
                </form>
            </div>
        </div>
    </div>
</div>

В WordPress есть функция wp_nav_menu, которая позволяет получить меню навигации. Для этого нужно зарегистрировать меню, то есть register_nav_menus. Приведенный код получает основную навигацию, которую вы зарегистрировали, как показано ниже в файле function.php.

// Эта тема использует wp_nav_menu() в двух местах.
register_nav_menus( array(
    'primary' => __( 'Основное меню', 'twentysixteen' ),
) );

Вы можете добавлять/удалять/распределять страницы меню во вкладке Внешний вид->Меню и назначать это Основному меню.
Надеюсь, это поможет!!

.

Ответ или решение

Для того чтобы преобразовать ваш HTML-меню в динамическое меню WordPress, вам потребуется выполнить ряд шагов, включая регистрацию меню, создание структуры шаблона и интеграцию элемента меню через wp_nav_menu(). Давайте разберем этот процесс поэтапно.

1. Регистрация меню

Для начала вам необходимо зарегистрировать ваше меню в файле functions.php вашей темы. При помощи функции register_nav_menus() вы сможете указать место, где будет отображаться меню. Откройте файл functions.php и добавьте следующий код:

function my_theme_register_menus() {
    register_nav_menus( array(
        'primary' => __( 'Главное меню', 'название_вашей_темы' ),
    ) );
}
add_action( 'init', 'my_theme_register_menus' );

2. Использование wp_nav_menu()

Следующим шагом является замена статического HTML-кода вашего меню на динамический код с использованием функции wp_nav_menu(). Измените ваш HTML-код таким образом:

<div id="cs-header-menu">
    <div class="cs-container">
        <div class="cs-toggle-main-navigation"><i class="fa fa-bars"></i></div>
        <nav id="cs-main-navigation" class="cs-clearfix">
            <?php
                wp_nav_menu( array(
                    'theme_location' => 'primary',
                    'container'      => false,
                    'menu_class'     => 'cs-main-navigation cs-clearfix',
                ) );
            ?>
        </nav>
        <div id="cs-header-menu-search-button-show"><i class="fa fa-search"></i></div>
        <div id="cs-header-menu-search-form">
            <div id="cs-header-menu-search-button-hide"><i class="fa fa-close"></i></div>
            <form>
                <input type="text" placeholder="Введите и нажмите Enter...">
            </form>
        </div>
    </div>
</div>

3. Настройка структуры меню в админке

После разработки шаблона меню откройте админ-панель WordPress и перейдите в раздел Внешний вид -> Меню. Здесь вы сможете создать новое меню, добавить в него страницы, категории и связи, а также настроить порядок элементов. Не забудьте назначить ваше меню, выбранное ранее при регистрации (например, "Главное меню").

4. Добавление подменю

WordPress поддерживает подменю по умолчанию. Если вы добавите элементы в ваше меню и переместите их чуть вправо под другие пункты, они автоматически станут подменю. Структура будет выглядеть так:

  • Homepages
    • Homepage 1
    • Homepage 2
  • Lifestyle
  • Beauty
  • Travel

5. Проверка и настройка стилей

Не забудьте проверить ваш сайт на предмет правильного отображения и функционирования меню. Возможно, вам нужно будет внести изменения в ваши CSS-стили, чтобы они соответственно применялись к динамическому меню. Обратите внимание на классы вашего меню: cs-main-navigation cs-clearfix, чтобы у вас было возможность управлять стилями через CSS.

6. Заключение

Следуя данным шагам, вы сможете успешно трансформировать ваше статическое HTML-меню в динамическое меню WordPress. Это обеспечит вам гибкость и позволит легко управлять структурой навигации на вашем сайте. Если у вас возникнут вопросы или проблемы на любом из этих этапов, не стесняйтесь обращаться за помощью в сообщество WordPress или к профессиональным разработчикам.

Оцените материал
Добавить комментарий

Капча загружается...