Как добавить класс для ul в навигации
12 июн. 2015 г., 16:27:28
Просмотры: 49.8K
Голосов: 5
Я изучаю конвертацию HTML в WordPress и хочу преобразовать класс следующим образом:
<div class="mainmenu pull-left">
<ul class="nav navbar-nav collapse navbar-collapse">
<li><a href="index.html" class="active">Главная</a></li>
<li class="dropdown"><a href="#">Магазин<i class="fa fa-angle-down"></i></a>
<ul role="menu" class="sub-menu">
<li><a href="shop.html">Товары</a></li>
<li><a href="product-details.html">Детали товара</a></li>
<li><a href="checkout.html">Оформление заказа</a></li>
<li><a href="cart.html">Корзина</a></li>
<li><a href="login.html">Вход</a></li>
</ul>
</li>
<li class="dropdown"><a href="#">Блог<i class="fa fa-angle-down"></i></a>
<ul role="menu" class="sub-menu">
<li><a href="blog.html">Список блогов</a></li>
<li><a href="blog-single.html">Отдельный блог</a></li>
</ul>
</li>
<li><a href="404.html">404</a></li>
<li><a href="contact-us.html">Контакты</a></li>
</ul>
</div>
Вот что я сделал:
if ( ! function_exists( 'mytheme_setup' ) ) :
function wpflex_setup() {
register_nav_menus( array(
'primary' => 'Основное меню'
) );
}
endif;
wp_nav_menu( array(
'theme_location' => 'top-menu',
'container' => '',
'menu_class' => 'mainmenu pull-left',
) );
Как добавить класс для тега <ul>
?
Все ответы на вопрос
5
1
Вы уже сделали всё правильно. Если посмотреть в документации для wp_nav_menu, то видно, что параметр menu_class задаёт класс для элемента UL:
wp_nav_menu( array(
'theme_location' => 'top-menu', // расположение меню в теме
'container' => '', // отключаем контейнер
'menu_class'=> 'mainmenu pull-left *добавьте-свой-класс-здесь*' // класс для ul
) );

ChrisL
131
12 июн. 2015 г. 17:54:46
1
Wordpress создаёт меню страниц по умолчанию, отличное от активных меню — тех, которые вы создаёте и назначаете в админке. Нет прямого способа добавить классы к UL в меню страниц, но есть другие варианты. Попробуйте добавить этот код в ваш файл functions.php:
function add_id_and_classes_to_page_menu( $ulclass ) {
return preg_replace( '/<ul>/', '<ul id="main-menu" class="nav navbar-nav collapse navbar-collapse">', $ulclass, 1 );
}
add_filter( 'wp_page_menu', 'add_id_and_classes_to_page_menu' );
Учтите, что это заменит все существующие id и классы, поэтому в примере выше я их добавил заново. Также я добавил id="main-menu" для полноты.

Ted
51
25 февр. 2017 г. 07:09:10
Похожие вопросы
4
ответов
2
ответов
2
ответов