[wp-hackers] the home.php problem: does it asks for a posts.php ?

Leo germani leogermani at gmail.com
Mon Aug 27 21:11:26 UTC 2012

Hi all,

Imagine you create a home.php or front-page.php template in your theme.

Ok, now the visitor sees this template when visiting your sites front page.
You can put anything you want there, in a template totally different from
the blog template. Cool.

Now you want to have a link to the lists of posts of your site, right? Of
course it should be easy. But here you get in a weird situation with no
good solution so far.

Solution 1 - Page template

You create a page template, with a simple code that executes query_posts()
and load your index.php.

This is not a good solution for at least 2 reasons. First, body_class()
does not work well in this situation. Second, it requires the user to
create the page and assign the template, this means he/she can break the
site if this page is edited or deleted

Solution 2 - Use the Reading settings as usual, and create 2 page
templates. In this case, you will probably have to edit the name of your
home.php file because sometimes it conflicts with these options. In other
words, this scenario makes home.php useless.

So, isnt it a good idea to have a posts.php template? Lets think about this

We have now post type archives, so, in theory, we could have a
archive-post.php and if we access mysite.com?post_type=post we would see
our blog there. It works, but it does not look very good when we're using
beatiful permalinks.

If we follow the same structure we have for others CPTs, visiting
mysite.com/post would take me to the same place. But it does not, because
this rewrite rule doesnt exist.

Adding this rule could be a solution, but not a good one. /post/ is not a
good URI for a blog.

So what I think that could be done:

. add a default rewirte rule that redirects /blog/ (or /posts/) to
?post_type=post (and then we use archive-post.php in our theme).

. add an option in the permalinks page that lets the user change the posts
base URI, as they do with categories and tags.

What do you think about that?



More information about the wp-hackers mailing list