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

Leo germani leogermani at gmail.com
Mon Aug 27 22:00:55 UTC 2012


I actually forgot to ask in my email if I was missing something huge here.
But beleive me, I see a lot of people running into the same problem.

I understand the difference between home.php and front-page.php better now,
but the question that brought me here is: if I have a front-page.php file
in my theme, what link my visitor will have to access to see my latests
posts? Does it have necessarily to be done through the Reading options and
setting up a page template?

Leo,,

On Mon, Aug 27, 2012 at 6:32 PM, Justin Tadlock <justin at justintadlock.com>wrote:

> I think you're just getting confused with the "home" and "front page"
> terminology a bit.
>
> home.php is your blog posts template (i.e., your 'post' post type
> archive). It's always used when is_home() is true, even if this is not the
> front page of your site.  You should never "put anything you want in there"
> with this template.  It's for showing your blog posts.
>
> front-page.php is to override anything shown on the front page of the
> site, regardless of any other settings.
>
> Maybe that helps explain it a bit.
>
>
> On 8/27/2012 4:11 PM, Leo germani wrote:
>
>> 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
>> solution:
>>
>> 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?
>>
>> Leo,,
>>
>>
> ______________________________**_________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.**com <wp-hackers at lists.automattic.com>
> http://lists.automattic.com/**mailman/listinfo/wp-hackers<http://lists.automattic.com/mailman/listinfo/wp-hackers>
>



-- 
leogermani.com.br


More information about the wp-hackers mailing list