I am using

        'theme_location' => 'header-menu',
        'menu_class' => 'nav-bar',
        'container' => 'nav'

to output my navigation menu list. Currently they automatically get classes added to them like page-item-8, page-item-6. I work on a local machine and upload to my server. My problem is the page-item numbers are different and I can't select them properly. What I want to do is add a class home, shop, services, etc to the respective list item.

Is there a better way to do this.

Thanks in advance.

2 Answers 2


The simple way would to add the css class to the individual titles in the wp-admin/menus section.

First, go to the screen options and select the css checkbox:

enter image description here

Next, open the menu item and give it a class. In my example it would have the class .home-page:

enter image description here


Ok I just added to my functions.php file went to appearance menus, changed screen options to allow classes. Then Added a individual class for each one. Awesome!

function register_my_menus() {
    array('header-menu' => __( 'Header Menu' ) )
add_action( 'init', 'register_my_menus' );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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