WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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'
)); ?>
share|improve this question
up vote 1 down vote accepted

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.