Classy wp_list_pages

Adds a uniqe class or ID attribute to each LI tag generated by wp_list_pages() and wp_nav_menu() allowing them to be individually styled with CSS.

Author:Alex Dunae (profile at wordpress.org)
WordPress version required:2.2
WordPress version tested:3.0.5
Plugin version:1.4,0
Added to WordPress repository:26-09-2007
Last updated:04-02-2011
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:0
Rated by:0
Plugin URI:http://code.dunae.ca/classy_wp_list_pages
Total downloads:12 526
Active installs:100+
plugin download
Click to start download

This plugin adds classes or IDs (your choice) to the LI tags generated by WordPress’ wp_list_pages() and wp_nav_menu() functions.

I found it very frustrating to style the output of these menus without having access to these attributes. This plugin allows you to style the output of wp_list_pages() and wp_nav_menu() with CSS.

The class name or ID is derived from the URL of the page.

For example,

  • /about/ could have the class about.
  • /about/faq/ could have the class about_faq.

If a page does not have a URL (e.g. your front page) the plugin will set the class or id (depending on what you selected) to frontpage, adding whatever prefix you requested.

For example,

  • / could have the class pg_frontpage.

Existing classes (e.g. page_item or current) are left untouched.

Sample output

<li id="nav-a-new-page" class="first page_item page-item-4"><a href="http://example.com/a-new-page/" title="A new page">A new page</a></li>
<li id="nav-about" class="page_item page-item-2"><a href="http://example.com/about/" title="About">About</a></li>
<li id="nav-another-new-page" class="last page_item page-item-6"><a href="http://example.com/another-new-page/" title="Another new page">Another new page</a></li>

Configuration

Using the Classy wp_list_pages tab in the options panel you can choose whether you want to use IDs or classes, set the token separator and add an optional token prefix.

You can also specify a class to add to the first and last items in a list.

Pretty straight forward…

Contact and Credits

Written by Alex Dunae ( dunae.ca ), e-mail ‘code’ at the same domain), 2007-09.


ChangeLog