How to add ul class on nav

时间:2015-06-12 作者:dkvnk

我一直在学习将HTML转换为WordPress,并希望将其转换为如下类:

<div class="mainmenu pull-left">
    <ul class="nav navbar-nav collapse navbar-collapse">
        <li><a href="index.html" class="active">Home</a></li>
        <li class="dropdown"><a href="#">Shop<i class="fa fa-angle-down"></i></a>
            <ul role="menu" class="sub-menu">
                <li><a href="shop.html">Products</a></li>
                <li><a href="product-details.html">Product Details</a></li> 
                <li><a href="checkout.html">Checkout</a></li> 
                <li><a href="cart.html">Cart</a></li> 
                <li><a href="login.html">Login</a></li> 
            </ul>
        </li> 
        <li class="dropdown"><a href="#">Blog<i class="fa fa-angle-down"></i></a>
            <ul role="menu" class="sub-menu">
                <li><a href="blog.html">Blog List</a></li>
                <li><a href="blog-single.html">Blog Single</a></li>
            </ul>
        </li> 
        <li><a href="404.html">404</a></li>
        <li><a href="contact-us.html">Contact</a></li>
    </ul>
</div>
这就是我所做的:

if ( ! function_exists( \'mytheme_setup\' ) ) :
    function wpflex_setup() {  
        register_nav_menus( array(
            \'primary\' => \'Primary Menu\'
        ) );
    }
endif;

wp_nav_menu( array( 
    \'theme_location\' => \'top-menu\',
    \'container\'      => \'\',
    \'menu_class\'     => \'mainmenu pull-left\',
) );
如何为添加类ul?

5 个回复
SO网友:Behzad

很简单,只需添加items_wrap 参数并添加或编辑类属性:

wp_nav_menu( array(
    \'theme_location\' => \'top-menu\',
    \'container\' => false,
    \'items_wrap\' => \'<ul class="nav your_custom_class">%3$s</ul>\',
));

SO网友:ChrisL

你已经用正确的方法做了。如果您查看文档wp_nav_menu, 您将看到menu\\u类是UL类的正确选项:

wp_nav_menu( array(
    \'theme_location\' => \'top-menu\',
    \'container\' => \'\',
    \'menu_class\'=> \'mainmenu pull-left *add-your-class-here*\'
 ) );

SO网友:Ted

Wordpress创建的默认页面菜单与活动菜单不同,这些菜单是您在后端创建和分配的。没有直接的方法将类添加到页面菜单中的UL中,但还有其他方法。尝试将其添加到函数中。php

function add_id_and_classes_to_page_menu( $ulclass ) {
  return preg_replace( \'/<ul>/\', \'<ul id="main-menu" class="nav navbar-nav collapse navbar-collapse">\', $ulclass, 1 );
}
add_filter( \'wp_page_menu\', \'add_id_and_classes_to_page_menu\' );
请记住,这将替换任何现有的id和类,因此我在上面的示例中重新添加了它们。我还添加了一个id=“主菜单”以完成操作。

SO网友:J. Shabu

这是您的固定代码。我已经测试了它,将类添加到ul

wp_nav_menu( array( 
    \'theme_location\' => \'top-menu\',
    \'container\'      => \'ul\',
    \'menu_class\'     => \'mainmenu pull-left\',
) );

SO网友:Alpesh Navadiya
       <?php 
         wp_nav_menu( array(\'menu\' => \'Main Menu\' ,
        \'menu_class\' => \'nav navbar-nav\',
         \'container\' => \'\'));
            ?>
结束

相关推荐

如何在WooThemes画布中为注册用户创建不同的导航?

我正在用wordpress和画布主题(来自WooThemes)构建一个网站。我使用顶部导航在用户登录时显示项目。当用户未登录时,您只能看到“成为成员”和“登录”。当用户登录时,他/她会看到另一个带有其他菜单项的导航。我想到了以下解决方案:注册新导航应用钩子检查用户是否登录根据结果,为注册用户应用导航,否则显示其他我将此代码放在我的函数中。php:add_action( \'init\', \'register_top_menu_myisa\', 10 ); function regist