I would like to build a wordpress theme with a custom menu (no dropdowns, nothing fancy). I am trying to get wp_nav_menu do what I want, but I can't quite see how to achieve the following.

I would like to give the menu items different names, i.e. if I have a page called Classes, I would like the link in the menu to be called clAssEs (which I will style to be rendered in a different font).

Should I use custom fields for this?

P.S.: Looking at the html output, the classes of my menu list items are page_item and page-item-21. Does this mean I am doing something wrong? This looks more like it is generated by wp_page_menu.

I am calling wp_nav_menu with

<?php wp_nav_menu(array(
  'theme_location' => 'main-menu',
  'menu_class' => 'menu',
  'container_id' => 'none',
  'fallback_cb' => 'wp_page_menu'
)); ?>

1 Answer 1


You can add other classes to individual menu items manually.

Within the Appearance->Menus page, click Screen Options in the top right corner.

You will see a menu that looks like this:

Custom Menu Classes

Check off CSS Classes and it will give you an extra form field per page item. Adding a custom class will allow you to target each specific list element with CSS of JavaScript on the front-end.

You can change the names of your menu items manually as well. They do not have to mirror the actual page names.

Your Answer

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