如何解决wp_nav_menu 什么都不返回
所以我来将我的 HTML 站点移到 wordpress 并且我遇到了菜单问题。管理面板中列出的所有链接均无法访问。
header.php 代码:
<nav>
<?php
wp_nav_menu(array(
'theme_location' => 'top-menu','items_wrap'=> '<ul class="nav__links"><li>','container' => '',));
?>
</nav>
这是导航栏 html:
<nav>
<ul class="nav__links">
<li><a class="un" href="#">Home</a></li>
<li><a class="un" href="#">Services <i class="fas fa-chevron-down"></i></a>
<ul class="dropdown">
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
<li><a href="#">Broadband</a></li>
</ul>
</li>
<li><a class="un" href="#">Customers</a></li>
<li><a class="un" href="#">News & Blog</a></li>
<li><a class="un" href="#">About us</a></li>
<li><a class="un" href="#">Contact</a></li>
</ul>
</nav>
我的functions.php文件中的代码:
function wp_custom_new_menu() {
register_nav_menus(
array(
'top-menu' => __( 'Top Menu' ),'mobile' => __( 'Mobile Menu' )
)
);}add_action( 'init','wp_custom_new_menu' );
这是被拉过去的:
<nav>
<ul class="nav__links"><li> </li></ul></nav>
我不完全确定为什么要这样做,肯定在 wordpress 管理区域内创建了一个菜单。显示位置顶部菜单也已选中。
任何指针都会很棒。
谢谢, 嘻嘻
解决方法
items_wrap'
通常定义包装菜单的 li
元素的元素,因此在此处使用 <li>
标记(如您的代码中)会导致 li
元素为该 li
的直接子级,这不是有效的 HTML(即子菜单需要 ul
的 li
子级介于两者之间)。这很可能是什么都没出现的原因。
因此您必须删除该 <li>
,并添加结束 </ul>
。但实际上使用 'menu_class' => 'nav__links'
代替应该就足够了。 ul
和 li
标签内的菜单项包装是自动发生的,menu_class
将一个类添加到 ul
。
因此生成的 php 代码将是
<?php
wp_nav_menu(array(
'theme_location' => 'top-menu','menu_class' => 'nav__links','container' => '',));
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。