Я конвертирую это HTML-меню в WordPress:
<ul>
<li><a href="/" class="current"><span>Home</span></a></li>
<li><a href="/"><span>About</span></a></li>
</ul>
я использую:
wp_nav_menu(array(
'menu'=>'mainmenu' ,
'container' => false,
'link_before' => '<span>',
'link_after' => '</span>',
'theme_location' => 'primary')
);
но HTML я получаю это:
<div class="menu">
<ul>
<li class="current_page_item"><a href="http://localhost/goodsoil/" title="Home"><span>Home</span></a></li>
<li class="page_item page-item-2"><a href="http://localhost/goodsoil/?page_id=2" title="About"><span>About</span></a></li>
</ul>
</div>
Если я использую пользовательское меню, то я получаю:
<ul id="menu-test" class="menu">
<li id="menu-item-6" class="menu-item menu-item-type-custom current-menu-item current_page_item menu-item-home menu-item-6"><a href="url/"><span>Home</span></a></li>
<li id="menu-item-5" class="menu-item menu-item-type-post_type menu-item-5"><a href="url/?page_id=2"><span>About</span></a></li>
</ul>
но если я не использую пользовательское меню 'container' => false, не работает. Есть решение?
Ответы:
[Решено] Это НЕ РАБОТАЕТ, когда вы ссылаетесь на несуществующее место. например, когда вы скопировали код откуда-то еще, или вы еще не создали свое меню или местоположение на информационной панели.
например, удалить ", 'theme_location' => 'primary'" из следующего кода:
так это должно выглядеть
Он отлично работает без контейнера на моем сайте SocialBlogsiteWebDesign.com
источник
appearance->menu
Сначала создайте свое меню в админке, затем вызовитеwp_nav_menu(array('menu'=>'<menu_name>','container'=>false))
http://codex.wordpress.org/Function_Reference/wp_nav_menu
источник
if ( $args->container )
в коде, такfalse
иempty string
не имеет значения.Вы имеете в виду резервную функцию nav_menus. Это "wp_page_menu", и, к сожалению, он не производит тот же тип разметки, что и пользовательское меню.
Чтобы это исправить, создайте свое собственное запасное меню. Я использую это:
Возможно, вам придется изменить это, поскольку моя тема обрабатывает меню по-своему, но я думаю, вы поняли основную идею.
И когда ты звонишь,
wp_nav_menu
делай такwp_nav_menu(array('fallback_cb' => 'my_page_menu'));
Вы также можете сопоставить классы с классами пользовательского меню, используя это:
Таким образом, вы сократили несколько правил CSS ...
источник
Я разработал простое и эффективное решение с использованием
str_replace
, которое можно применять отдельно для использования в таблицах меню, а неul li
:источник
Нашел решение.
Просто используйте «ul» для «контейнера»
источник
Попробуй это
источник