it-swarm.com.de

Wie man die Klasse ul auf nav hinzufügt

Ich habe gelernt, HTML in WordPress zu konvertieren und möchte in eine Klasse wie diese konvertieren:

<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>

Das habe ich getan:

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

Wie füge ich eine Klasse für ul hinzu?

3
dkvnk

Du hast es schon richtig gemacht. Wenn Sie in der Dokumentation nach wp_nav_menu suchen, werden Sie feststellen, dass menu_class die richtige Option für die Klasse des UL ist:

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

Es ist ganz einfach, Sie müssen nur den Parameter items_wrap hinzufügen und die Klasse attr hinzufügen oder bearbeiten:

wp_nav_menu( array(
    'theme_location' => 'top-menu',
    'container' => false,
    'items_wrap' => '<ul class="nav your_custom_class">%3$s</ul>',
));
4
Behzad
       <?php 
         wp_nav_menu( array('menu' => 'Main Menu' ,
        'menu_class' => 'nav navbar-nav',
         'container' => ''));
            ?>
1
Alpesh Navadiya

Hier ist Ihr fester Code. Ich habe es getestet add class to ul

wp_nav_menu( array( 
    'theme_location' => 'top-menu',
    'container'      => 'ul',
    'menu_class'     => 'mainmenu pull-left',
) );
1
J. Shabu

Wordpress erstellt das Standardseitenmenü anders als die aktiven Menüs, die Sie im Backend erstellen und zuweisen. Es gibt keine direkte Möglichkeit, Klassen in Seitenmenüs zum UL hinzuzufügen, aber es gibt andere Möglichkeiten. Versuchen Sie dies zu Ihrer functions.php hinzuzufügen

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' );

Denken Sie daran, dass hierdurch alle vorhandenen IDs und Klassen ersetzt werden. Daher habe ich sie im obigen Beispiel neu hinzugefügt. Ich habe auch ein id = "main-menu" zur Vervollständigung hinzugefügt.

0
Ted