1

我正在使用二十三个主题。我正在使用 wp_nav_menu 来显示菜单项。我需要从 wp nav 菜单中删除容器 div 和 ul 。我试过这个。

 wp_nav_menu( array( 'container' => '', 'items_wrap' => '%3$s', 'theme_location' => 'primary' ) ); 

但它不起作用。如何解决这个问题?

4

3 回答 3

1

添加falsecontainer

wp_nav_menu( array( 'container' => false, 'items_wrap' => '%3$s', 'theme_location' => 'primary' ) );
于 2013-09-17T14:20:00.253 回答
0

下面的代码在functions.php

 function remove_wp_ul($menu){return preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#', '#^<li[^>]*>#', '#</li>$#' ), '', $menu );}
add_filter( 'wp_nav_menu', 'remove_wp_ul' );

在里面header.php,写下如下代码:

wp_nav_menu(array('menu' => 'mymenu','container' => false,)); ?>
于 2021-08-23T09:57:33.820 回答
0

即使这个问题已经很老了,我想添加一个可行的解决方案。我在搜索完全相同时发现了这个问题,但是 Mark 的答案只是删除了容器而不是 ul 或 li 标签wp_nav_menu

删除所有<ul><li>标签wp_nav_menu

function remove_wp_nav_menu_ul($menu){
   return preg_replace( array( '#^<ul[^>]*>#', '#</ul>$#', '#^<li[^>]*>#', '#</li>$#' ), '', $menu );
}
add_filter( 'wp_nav_menu', 'remove_wp_nav_menu_ul' );

只需将其放在主题的 function.php 中即可。但在这样做之前,请始终考虑使用 CSS 解决这个问题。

于 2019-04-08T17:56:19.703 回答