There is a great deal of confusion regarding setting up a quasi-static home or front page in WordPress blogs. To have a better idea why is this happening and where the confusion comes from – we need an “historical” review of this feature’s development.
When the new theme system has been introduced in WP 1.5 the default front/main page was the index.php file of your theme. That file was also the general fallback for any missing template files (archive.php, page.php, single.php, category.php). I am not sure whether the next option has been there from the beginning or it was added later – but at certain point the template file home.php has been introduced and documented in the Codex as an option for the front page. It always takes precedence over the index.php file, so you better have all the necessary template files if you are using it, otherwise you can get a mess.
In the same time all kind of “techniques” have been invented to have a (as it was called) a Static Frontpage; see the Codex article and its history. Several plugins were also released (some of them are mentioned in the Static Frontpage article) and, usually, these techniques were mutually exclusive. Despite that, many times users were trying to combine or use them together…
If you are using an older WP version, most of these “frontpage” solutions work fine, if you know what are you doing. I had such a home.php applied on one of my blogs, with four different Loops in, and it did the job perfectly.
A major step in the home/main page handling has been introduced in WP 2.1 version when (quote from the development blog) “You can set any ‘page’ to be the front page of your site, and put the latest posts somewhere else, making it much easier to use WordPress as a content management system“.
While this really makes obsolete messing around with the code in index.php or home.php files, it also creates some confusion. Many users simply don’t find the option (which is under Options > Reading or Settings > Reading in newer versions), others read the previous articles in the Codex and try to make sense of them in regard with the new feature introduced since WP 2.1…
To make a long story short: since the 2.1 version and newer you don’t really need to do anything if you just want to set a Page as your main page of the WP installation. You will also have to set another Page to display your blog entires. In both cases you have to have those Pages created before you go into the Options or Settings subpanel to set them. They can also be just “empty” Pages created in the Write > Write Page subpanel. No need to put any content in them.
Let me summarize the process of setting a home/front/main page “static” in newer WordPress versions:
1. Create 2 Pages in the Write > Page subpanel, e.g. “Home” and “Blog”
2. Write your welcome text or what you want to show first into the content of the “Home” page
2a. You can use even a special, custom Page Template for your front/main page
3. Don’t write anything into the “Blog” Page
4. Go to admin > Settings > Reading
5. Select Front page displays a static page and make your “Home” as the Frontpage (in the dropdown)
6. Select your (remember? empty!) “Blog” Page as your Postpage
7. Happy blogging!
However, if you want some more sophisticated organization of “static” and “dynamic” content on your main/front page – see my previous post.
And don’t forget to share this post if you find it useful!