First of all take my apologies for my bad English's skill.

I want to add a class in <li></li> and <i></i> tag using of wordpress wp_nav_menu(); function. My menu structure is

<ul class="box-primary-nav">

    <li class="box-label">About me</li>
    <li><a href="index.html">Intro</a> <i class="ion-ios-circle-filled color"></i></li>

    <li class="box-label">Follow me</li>
    <li class="box-social"><a href="#0"><i class="ion-social-facebook"></i></a></li>


I was used nav_menu_css_class filter for adding class and it is works only in <li></li> But I have to need <i></i> tag too.

How can I add those class in <li></li> and <i></i> tag?

  • It's look like an icon tricks, you can do this without php ? .box-social::after{ /* same code in .ion-social-facebook */ } – benoît Sep 30 '16 at 8:31
  • That <i> class is not native to WP, but seems to be something inserted by a plugin. You should ask the plugin's author about a filter for this. – cjbj Sep 30 '16 at 9:46

If you need to add different classes for the tag, consider using jQuery .addClass() for it or javascript solution if you don't want to use jQuery.

Your other options are to try and fit the parameters which wp_nav can use.


(array) (Optional) Array of nav menu arguments.

    (string) Desired menu. Accepts (matching in order) id, slug, name.
    (string) CSS class to use for the ul element which forms the menu. Default 'menu'.
    (string) The ID that is applied to the ul element which forms the menu. Default is the menu slug, incremented.
    (string) Whether to wrap the ul, and what to wrap it with. Default 'div'.
    (string) Class that is applied to the container. Default 'menu-{menu slug}-container'.
    (string) The ID that is applied to the container.
    (callable|bool) If the menu doesn't exists, a callback function will fire. Default is 'wp_page_menu'. Set to false for no fallback.
    (string) Text before the link markup.
    (string) Text after the link markup.
    (string) Text before the link text.
    (string) Text after the link text.
    (bool) Whether to echo the menu or return it. Default true.
    (int) How many levels of the hierarchy are to be included. 0 means all. Default 0.
    (object) Instance of a custom walker class.
    (string) Theme location to be used. Must be registered with register_nav_menu() in order to be selectable by the user.
    (string) How the list items should be wrapped. Default is a ul with an id and class. Uses printf() format with numbered placeholders.

Where you might find item_wrap and menu_class usefull.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.