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

Diana K. C dianakac at gmail.com
Tue Aug 28 19:50:10 UTC 2012


I use to auto-create a page called Home and offer a template page for it. 
Still the option is up to user whether to set this page as the home or not. 
There is some way to do all this auto, but I lack code expertise for say so 
:)

----- Original Message ----- 
From: "Chip Bennett" <chip at chipbennett.net>
To: <wp-hackers at lists.automattic.com>
Sent: Tuesday, August 28, 2012 4:11 PM
Subject: Re: [wp-hackers] the home.php problem: does it asks for a 
posts.php?


> As a theme developer, what Im looking for is a way to force what will be
> displayed in the front page and where the visitor will find the blog.
>
>
> It's not the purpose of the *Theme* to dictate what is displayed on the
> front page. That is a decision for the end user, and the end user alone.
>
> Are there ways to improve the UX with respect to that front-page 
> selection?
> Sure. And such improvements are already under discussion (cf. the Trac
> ticket John linked). But I am an adamant proponent of Themes remaining
> within their functional scope: that is to *present* content, not to
> *define* or *manage* content or site options (including whether the front
> page should display the blog posts index or static content).
>
> side note: according to you guys this page shoulbe be banned from the
> codex:
> http://codex.wordpress.org/Making_Your_Blog_Appear_in_a_Non-Root_Folder
>
>
> The current version of that Codex entry is just shy of three years old.
> That's bound to happen in a community/volunteer-maintained Codex. *Banned*
> from the Codex? No; it merely needs to be updated to reflect current best
> practices, such as the use of the pre_get_posts filter instead of
> query_posts(), and (more importantly) to reflect current WordPress UX. In
> all honesty, that Codex entry likely not even *needed* anymore, as
> assigning the blog posts index to a static Page named "blog" is all that 
> is
> required to accomplish the purpose of that entry.
>
> Regards,
>
> Chip
>
> On Mon, Aug 27, 2012 at 5:15 PM, Leo germani <leogermani at gmail.com> wrote:
>
>> Yes, I see the root fo the confusion now.
>>
>> Sometimes I just think that those optinos in the readin panel are 
>> dangerous
>> for the user. I dont want to have a dummy page called "blog" to list my
>> blog posts. The user can accidentally delete this page and break the 
>> site.
>> or tweak that option...
>>
>> As a theme developer, what Im looking for is a way to force what will be
>> displayed in the front page and where the visitor will find the blog.
>>
>> If I write a front-page.php file and access the root of my site. I have
>> whatever I want there, despite of what is selected on the reading 
>> settings.
>> But then I dont have a URL to acccess my blog... see?
>>
>> I could make a custom rewrite rule, Ive done it sometimes, but I just
>> though I would bring this up here cause its seems something lots of 
>> people
>> want to do and that should have a better support. But I understand now 
>> that
>> we can not do somethig thar ignores the reading settings...
>>
>> hmmm...
>>
>> side note: according to you guys this page shoulbe be banned from the
>> codex:
>> http://codex.wordpress.org/Making_Your_Blog_Appear_in_a_Non-Root_Folder
>>
>> Leo,,
>> On Mon, Aug 27, 2012 at 7:06 PM, Justin Tadlock <justin at justintadlock.com
>> >wrote:
>>
>> > Not necessarily.  You could always set up custom rewrite rules. It's 
>> > just
>> > easier to do it through the reading settings.
>> >
>> > You don't need a page template for it though.  Actually, I don't think
>> you
>> > can even use a page template at all anyway.  WP will automatically use
>> > "home.php" or, if it doesn't exist, fall back to "index.php".
>> >
>> >
>> > On 8/27/2012 5:00 PM, Leo germani wrote:
>> >
>> >> 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<wp-hackers at lists.automattic.com>
>> >>> >
>> >>> http://lists.automattic.com/****mailman/listinfo/wp-hackers<
>> http://lists.automattic.com/**mailman/listinfo/wp-hackers>
>> >>> <ht**tp://lists.automattic.com/**mailman/listinfo/wp-hackers<
>> http://lists.automattic.com/mailman/listinfo/wp-hackers>
>> >>> >
>> >>>
>> >>>
>> >>
>> >>
>> > ______________________________**_________________
>> > 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
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers 



More information about the wp-hackers mailing list