Вопрос или проблема
Я настроил свое 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 или к профессиональным разработчикам.