This seems trivial, but it took me hours to troubleshoot this problem. I hope I save someone else from that.

WordPress custom post types are great – they make it so easy to create any kind of ‘cataloged’ posts, like a portfolio, or a library of DVD’s, or products to sell. I’m building a portfolio and testimonials using custom post types and for the most part this has gone really smoothly.

The one major hiccup was pagination. If you want to display say 10 custom posts on a page (an actual WordPress ‘page’) and then have the user be able to flip to the next page, you’ll need to use some kind of pagination like WP Page-Navi.

I spent hours trying to get paging to work on my testimonials, until I finally found a very important note in a discussion thread about custom post types:

You cannot create a Page using the same string name as your registered custom post type.

That means that if I register the custom post type ‘testimonials’ I cannot display it on a page named Testimonials. One of them has to be different.

Whew. I wish I’d found it earlier, but making that simple change fixed my pagination issues in a second.