【问题标题】:remove ul from wp nav menu wordpress从 wp 导航菜单 wordpress 中删除 ul
【发布时间】:2013-09-17 11:15:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: wordpress nav


    【解决方案1】:

    container添加false

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

    【讨论】:

    • 我试过了:'container' => false 'container' => 'false' 'container' => '' 以上都对周围的 div 或 ul 没有任何影响。有什么方法可以在不编辑 functions.php 文件的情况下做到这一点?
    • @user1380540 你想做什么?
    • @mark 我正在尝试做这个问题的标题。我最终通过在 functions.php 文件中添加一些代码来做到这一点,因为似乎没有其他方法可以解决它
    【解决方案2】:

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

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

    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 解决此问题。

    【讨论】:

      【解决方案3】:

      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,)); ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多