wp_nav_menu插入<ul>,无法设置类或避免找到

时间:2018-02-06 09:35:08

标签: wordpress wordpress-theming

这似乎是一个普遍的问题,并尝试了很多不同的解决方案,但似乎它要么被破坏,要么我错过了一些东西。

函数wp_nav_menu坚持插入一个没有任何类或任何东西的东西,它有点糟糕地使用菜单(使用下划线构建它的主题上使用bootstrap)。有没有办法告诉它只是不添加或强制它添加类。

代码:

          <?php
                wp_nav_menu( array(
                    'theme_location'    =>  'primary',
                    'container'         =>  'nav',
                    'container_class'   =>  'navbar-collapse collapse',
                    'menu_class'        =>  'nav navbar-nav navbar-right'
                    )
                );
            ?>

也尝试过:

> <?php wp_nav_menu(array( 'menu' => 'primary', 'menu_id' => '',
> 'container' => false, 'theme_location' => 'primary-menu', 'show_home'
> => '1')); ?>

 <?php
wp_nav_menu(
 array(
'menu_class'=>"nav navbar-nav navbar-right",
'menu_id'=>"",
 'container'=>"",
 'theme_location'=>"primary-menu",
 )
 );

并且在所有情况下,它输出a而不应用任何类

        <div class="navbar">
            <nav class="nav navbar-nav navbar-right"><ul>
            <li class="page_item page-item-11"><a href="http://localhost:18888/about/">About</a></li>
            <li class="page_item page-item-18"><a href="http://localhost:18888/blog/">Blog</a></li>
            <li class="page_item page-item-8 current_page_item"><a href="http://localhost:18888/">Intro</a></li>
            <li class="page_item page-item-14"><a href="http://localhost:18888/join/">Join</a></li>
            </ul></nav>


        </div>

3 个答案:

答案 0 :(得分:1)

您可以尝试以下代码,该代码允许您将类添加到 ul ,还允许您删除 nav 标记。

<?php wp_nav_menu(array('theme_location'    => 'primary','menu_id'=> 'main-menu','container'=>false,'menu_class'=>'main-navigation')); ?>

HTML输出:

<ul id="main-menu" class="main-navigation">
    <li id="menu-item-1772" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1772">
        <a href="#">Test a</a>
    </li>
</ul>

希望这对你有用。

答案 1 :(得分:1)

根据我上面的评论,&#39; menu-1&#39; 被归类为(.*?)-(\d.*)\.\w+ 。如果您在theme_location来电中更新此内容,则现在可以使用此功能。

答案 2 :(得分:0)

我按照以下两个步骤解决了它。

  

第一步,我们必须在文件functions.php中注册导航菜单,   示例代码。

function pluto_theme_setup()
{
    add_theme_support('menus');
    register_nav_menu('primary', 'Header Navigation');
}

add_action('init', 'pluto_theme_setup');
  

第二步,我们可以使用文件中的wp_nav_menu调用主数据库   header.php,例如代码。

<div class="col-xs-12">
    <nav class="navbar navbar-default">
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                        data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">PLUTO</a>
            </div>
            <div class="collapse navbar-collapse" id="navbar-content-right">
                <?php wp_nav_menu(
                    array(
                        'theme_location' => 'primary',
                        'container' => false,
                        'menu_class' => 'nav navbar-nav navbar-right'))
                ?>
            </div>
        </div>
    </nav>
</div>