I really like working with WordPress as I’m sure you all already know. Top notch for blogging to be sure, but it also does a pretty good job managing pages just like a ‘real’ CMS, but without all the confusing bits you normally find in those packages.
For example, my current project currently exists as a site with about 10-15 HTML pages and a WordPress blog. I’ve got the layout pretty much done and will start bringing in pages and blog posts early next week more than likely. The whole thing, much like Fireballed, it will be 100% contained within WordPress.
I’ve had trouble with this in the past. Having a static page as the front page with a blog having more than 1 category behind it presents some navigational issues. So much so that there is one site out there (that I will be fixing very very soon) that I had to move the blog out front and have the pages behind it. But not any more.
It’s all in the categories. And the Category base. Here is the trick.
All of the posts categories for the blog need to be children categories of 1 main category. For example, if I were to do that here I would have a main (parent) category called blog and all of the other categories (rants, tech, personal, etc) would be sub-categories (children) under it.
Now here is the real trick. You need to set your category base. First reaction is to also call it blog (like the parent category), but in doing so, none of the navigation you setup will work correctly. Next and previous pages, for example, won’t work. Archives either. What you need to do is set that category base to something _different_ that the parent blog category. In my case, I used section.
So, the main link to the blog becomes [sitename.com]/section/blog. If you want to link directly to a category (like I have done for the new site) you would link to /section/blog/category. All navigation works and it’s a beautiful thing.
Another neat trick I’m using on this new site is displaying an excerct from the latest post in 1 category on the main page. And, the excerpt is an image that links back to the originating post. Do do that, I am using a second Loop that has been modified to work after the main Loop has run. I’ve done this on a custom page template that I built specifically for the front page of the site, that way I can still use page.php for all of the other pages.
Did I mention I’ve done all of this without any plugins? Sure, there will be plugins on the site, but only to increase functionality (subscribe to comments, live comment preview, akismet, markdown and contact form). Just a little Google and Codex searching to find the right bits.
The site is still a week or so away from being live, but I’ve got a screenshot up if you’d like to take a look. Any and all feedback is always welcome.