The following video provides an explanation on how to use sort order so that you get a scalable and organized approach to managing your navigation in WordPress. While geared at WordPress sites, this approach should work for any content management system that provides an automated or semi-automated way of creating navigation. This tutorial assumes that you are using a theme which supports multilevel navigation (i.e. drop down menus) and have a basic familiarity with using WordPress to edit and create content. You will also want to note this tutorial reference the function wp_list_pages(); and includes the parameter “sort_column=menu_order” (e.g. wp_list_pages(‘sort_column=menu_order’); ). For more on wp_list_pages and it’s parameters visit the WordPress Codex.
Page Navigation in WordPress – Using Sort Order
Previous post: Cool Skies
Next post: Understanding DPI, Resolution and Print vs. Web Images

Follow Me On Twitter for more great technology stuff!

{ 45 comments… read them below or add one }
Thanks for the tips! One thing I am still not sure of is how you get the pages then to go into your top navigation like on your site???
Andy, That is a slightly more technical issue. You have to use the wp_list_pages() function. See the list of Template Tags on Wordpress.org for more details but you’ll likely need to tell it what pages to include or which ones to ignore unless you want it to show every page in your site on your nav (not likely unless you only have a couple pages). Also, most WordPress themes are set up to support horizontal navigation (at least the themes I’ve built, used, delt with ..) but you’ll want to be sure yours has the css for that. If not you’ll get a vertical list of pages without the formatting you’re looking for since the wp_list_pages() tag will spit out an unordered list ul & li html tags respectively.
I like it! I had gotten to the point of db digits, don’t know why I didn’t think of this earlier!!
Yeah, DB digits could get messy! Glad this helps!
Thank you! Wonderful idea and it is very smart way to sort!
Carlos, Glad you found it useful! More to come…
I have a new web site–5 pages—I want to change the wording on the Purchasing page and also delete one line–have not figured out how to do that.
I did add two review to my Review page earlier with no problems, Thanks for any assistance, Ruby
Ruby, Sorry for the long delay. I assume you are on wordpress? From what you described can’t you just go to the Page and change the words? I tried to go to your site but it isn’t coming up. Let me know…
Using 4 digits to control sort order, good idea that works.
Thanks for sharing.
Ruby, You should just be able to login to the backend and go to Pages > Purchase and edit your content. If that doesn’t work we’ll have to login and take a look.
ecmuscle, glad you like. It’s a fairly “old school” idea but still works well!
nice tips – 1000,2000 – good idea
I see how you make a page the default home page and then how you add other pages and sub pages, but after doing that how do you create a menu item for your posts (the blog entries)?
Chris, you have to use the function wp_list_categories() and whatever parameters you want to go with that. Note: categories will not show up in the menu if there are no posts in that category.
Also, you’ll need to style the menu accordingly, depending on whether or not your theme supports it.
See more in the codex: wp_list_categories();
hello. I just soaked up your workpress video, content map, very helpful … my question, wanting your recommendation, using wordpress as a blog, I see the smart uses of ‘catagories’ and the use of ‘tags’ as you explained … but how best should I think about this if I want to set up a ‘portfolio’ section of graphic work, a page parent with sub pages, that remains separate from posts tagged with categories … do you recommend setting portfolio under a ‘static’ page so its available on my main nav? or as ‘catagory’ or as a ‘static’ page? Both a category and static page?
That said, how would my subs of: print, web, ID, for instance be best served? My goal is to set up a ‘portfolio’ that remains full of just my work, not pulling in other elements, say blog posts with the same tag or catagory… Is it correct to think if I do this I need to reserve specific ‘catagory’ and ‘tags’ just for my porfolio section? Hope that makes sense. Again, thanks for the video content map … it was very helpful.
Bran, I would probably set it up as a category called “Portfolio”. You could also create sub-categories for portfolio types (print portfolio, web portfolio, etc…). In WordPress you can create a specific category template so that that main category page will look different than the usual category page. This helps because if you wanted the main page for “Print Portfolio” to look slightly different than “Web Portfolio” it’s just a matter of creating different category templates. If you don’t know css and html and a little php you’ll need someone to create them for you. (Feel free to contact me if you need a quote).
Underneath each category you would create a post for the particular “work” you are showing off. So if you create a portfolio of website’s you’ve built then each site would be a post.. make sense?
The top level portfolio page (category page, not static page) could show various works from all of the sub-categories of “Portfolio” or the most recent example from each… however you want it to work. Again, this kind of templating takes some coding but can definitely be done.
I would then think about tags for the individual category types. For example under the “Print Portfolio” category what are the logical tags (think of search terms) that people would want to see work based on.
Ideas might be:
Magazine Ad
Brochure
Poster
Postcards
Business Cards
…
Just wanted to say this is a very smart idea! In addition, I have started using a plugin “My Page Order” which is a very small plugin that lets you sort your pages and drill down to sort sub pages as well using an easy drag and drop. The URL is http://wordpress.org/extend/plugins/my-page-order/ and it’s very handy! It’s not yet updated for 2.9 yet since WordPress added the trash feature for pages but the author has said he’s working on an update since 2.9 does not include a better way to sort pages.
Andrew, thank you, I appreciate that. My Page Order is a good plugin. My personal preference is that I tend to prefer to not use plugins for what I can do with core WordPress functionality. 1) For the reason you mentioned, it’s a pain sometimes waiting for a plugin that has to get worked when a new version of WordPress is released. 2) It keeps everything lighter (fewer moving parts mean fewer points of failure where things can go wrong). That said, I use a lot of plugins, just not where it isn’t necessary. Still, I know that plugin makes things easier for a lot of people so enjoy and upgraded to 2.9 as soon as you can. Always a good idea to stay up to date on that.
above video is not working… it shows the message ” Sorry, the video is currently not available”…..
Sorry for the delay but I was traveling when you sent this. I checked it and it seems to be working. Thanks for letting me know though.
Thanks for the tips
Kaka, you bet.
Thanks for the EASY guide! Much appreciated.
Thanks. You just saved me a ton of (future) time.
Alex! You bet… that is the idea!
I am very new at blogs / blogging. I have been trying to make use of Categories and have put the posts in and they are not showing when I open up the site to look at Categories.
I know I'm missing something very simple. Keep in mind my newness at this.
I did do my own website using a template, so I can't figure out what my problem is.
Also. How do you choose the size of your text?
Gail, That could be any number of things but the odds are you are putting your posts into categories that aren't set to display as you would expect in your theme. I don't provide technical support/changes (for free) so I'd start with getting an explanation from whomever set up your blog. If you can't get anywhere there send me an email and we'll chat.
Choosing the size of your font is part of an art called typography and I am definitely no expert in that field. It also depends on what you are applying it to. Google “learn typography” and you'll get a lot of good hits to look at.
Hi Scott,
I'm setting up my own blog just as I did my own website, using templates.
I used American Authors.com for the templates and they were available on the phone and were very helpful.
It shouldn't be that difficult. I am a determined person, so I will finally get it. I will keep trying.
I just hoped you could help me. Can you tell me how to set the categories up for display? Or does that cost extra?
Thank you,
GailsSerenity
Gails – I really do do any support through here. You're best bet would be to reach out to the WordPress Pro mailing list (if you have budget, it's for paid projects). Otherwise I'd hit the support forum/website for the template you used. If they don't have one you can try the WordPress.org support form to see if someone can help you.
thank you. Maybe that will help.
Gail
What an excellent video. I have read the information, but it didn't make sense to me. You elegant numbering solution really works well. Thanks for sharing this idea.
Richard, thanks for that. I really appreciate and glad you found it useful. Mission accomplished!
Thanks a lot Scott for your video. You've explained it very well and I was able to reorder the pages on my site.
Achintamitra, thanks! Glad it helped make it easier for you!
Thanks for the video Scott. I'm having some trouble though. After sorting different pages in the correct order (I also used the 1000, 2000… technique), the pages are sorted properly in the Admin section, but not on the site.
I thought perhaps it was a cache thing, so I opened a different browser but the same order appeared.
How can I correct this?
Don – You might make sure the function that generates those pages (wp_list_pages()) includes an attribute for sorting them or isn't being over-ridden by a plugin or something else. It's a little hard to say without seeing the back end. You can learn more about wp_list_pages() at http://codex.wordpress.org/Template_Tags/wp_lis...
Wordpress features includes a plugin architecture and a templating system. Used by over 2% of the 10,000 biggest websites, WordPress is the most popular blog software in use today. Thanks for providing related articles. Keep posting!
Thank you SO much for this!! I'm just at the beginning end of getting my website going, and this DEFINITELY helped me! I've bookmarked you so I can come back and make sure I'm getting this right. Michael – http://www.goofyfitnessdad.com
Michael, you bet. Love the site name!
I often working with WP – thank you for this post
Hi Scott,
Thanks so much for this tutorial, it made the process very clear and easy to implement. Great tip about the numbering too. I would have done the 1. 2. 3. thing without having seen the video.
Kim
Kim, Thanks for letting me know, does me good to hear I've saved some people some work and headache!!!
I am a coding novice, so please forgive this: I’m trying to enable this function so I can implement your numbering system. I looked up the reference for how to change the parameters for ‘wp_list’ and found this is edited in wp-includes/post-template.php (?)
I found this string in the file, but the syntax is different than in the examples they show:
function wp_list_pages($args = ”) {
$defaults = array(
‘depth’ => 0, ‘show_date’ => ”,
‘date_format’ => get_option(‘date_format’),
‘child_of’ => 0, ‘exclude’ => ”,
‘title_li’ => __(‘Pages’), ‘echo’ => 1,
‘authors’ => ”, ‘sort_column’ => ‘menu_order, post_title’,
‘link_before’ => ”, ‘link_after’ => ”, ‘walker’ => ”,
);
Thanks!
~TPS
Tom, if you are modifying the core WordPress code stop now! In your template file (in your theme) where you want the content to show up you need to use the wp_list_page() function and pass in the appropriate parameters.
Example:
< ?php wp_list_pages('title_li=&sort_column=menu_order'); ?>
Read More:
http://codex.wordpress.org/Function_Reference/wp_list_pages
After digging around the theme itself, I realized that it had the option right in it’s own control panel to order the pages by number, not alphabetically. Nonetheless, this was a good lesson in code.
Thanks for your help!
~TPS
{ 7 trackbacks }