因此,我已经把我的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管理区域。还选中了“显示位置”顶部菜单。
任何指示都是很好的。
谢谢,HizY
发布于 2020-12-29 17:49:06
items_wrap'通常定义包装菜单中的li元素的元素,因此在这里使用<li>标记(就像在代码中那样)会导致li元素作为该li的直接子元素,这是无效的li(即子菜单需要在中间的ul子程序)。这很可能是什么都没有出现的原因。
因此,您必须删除该<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' => '',
));
?>https://stackoverflow.com/questions/65496118
复制相似问题