[theme-reviewers] Is Blog.php is allowed in theme?

Otto otto at ottodestruct.com
Sun Jul 6 02:00:33 UTC 2014


I have no idea what you're talking about.

The correct way:

1. Create two Pages, one with what you want for the front-page content,
another with no content and simply named "blog" or whatever you want the
URL to me.

2. Go to Settings->Reading and assign the static page settings to show the
Posts on your blog page and the Page content you want on the front page.

3. There is no three.

That's literally all you have to do. No messing with files of any sort. You
don't need to copy index.php to anything else at all. That's the whole
point of the Loop, it can display any content, whether it is a Page or a
series of Posts.

- If the theme wants to display the Front Page differently from the
"default" view in index.php, then it should use a front-page.php to do that.
- If the theme wants to display the "blog" differently from the
"default" view in index.php, then it should use a home.php to do that.

There's no real case where you'd want to do both of these, but if you did,
then a simple if (is_home()) check in the front-page.php could do the trick
for you.

Basically, you're making things overcomplicated for the user. The theme
should do it without asking the user to do anything special like messing
with Page Templates. They should simply select what they want, through the
core settings, and have that happen properly. Your way does not do that
properly.

-Otto


On Sat, Jul 5, 2014 at 4:01 PM, Philip M. Hofer (Frumph) <philip at frumph.net>
wrote:

>   This is the tech support conversations to enable someone to have a blog
> on a separate page, comparison.
>
> Scenario 1 (your considered “proper” way)
>
> 1.  First, FTP into your site.  Yes, FTP; you can watch some youtube
> video’s on learning how to ftp.  Contact your hosting to get your info
> properly.
>
> 2. Navigate to the wp-content/themes/yourthemename/ and copy the index.php
> and name is front-page.php .. yes, copy.. yes, you need to first move the
> index.php file to your local drive then .. you don’t know how to do that?
> okay let me explain ... ( 5 mins later )
>
> 3. Okay now that you have that, you can go to settings –> reading and
> enable the posts page to be a page you created, .. okay yeah so create a
> page yes, a page .. you’ll need to create 2 pages, call one “Home” and the
> other “Blog” (or) “posts page”
>
> 4. Okay you did that? fine, set those in the settings –> reading, choose
> which pages you want to display where.
>
> 5. Cool beans, you’re done.  What?  That plugin you paid $50 for is
> displaying on the posts page too?  .. I’m sorry you’re going to have to
> take that up with that plugin maker.   Oh, that one too?  damn people don’t
> know how to program.
>
> 6. I realize that it’s pretty complicated, but that’s the way the theme
> review team wants to have it done, I apologize profusely.
>
> --------------------------------------------
>
> Scenario 2:
>
> 1.  Go to pages –> add new and create a blog page,  in the right column
> associate the “blog” template to it.
>
> 2. Go to the theme settings and disable the blog loop from appearing on
> the home page.
>
> 3. You’re welcome!
>
>
> ---------------------------------
>
> Yeah, rather stick with my method.
>
>  *From:* Otto <otto at ottodestruct.com>
> *Sent:* Saturday, July 05, 2014 1:20 PM
> *To:* Discussion list for WordPress theme reviewers.
> <theme-reviewers at lists.wordpress.org>
> *Subject:* Re: [theme-reviewers] Is Blog.php is allowed in theme?
>
>  Okay, that's not a theme template, that is a Custom Page Template with a
> custom loop, and no, that sort of thing should not be allowed in any theme
> in the WordPress.org theme directory. In short, that is an incorrect way to
> show the main blog posts on a page.
>
> There's nothing wrong with making Custom Page Templates to show special
> things, but the "main blog" is not a "special thing"... and it is correctly
> handled by the core Template Hierarchy. The home.php file should be what
> you use to display the blog posts, and you should not have a custom query
> in it like that.
>
> The reason that is wrong is because it doesn't correctly support the core
> functionality for setting a Page to appear on the front-page, and for the
> blog posts to appear on a sub-page. With this implementation, somebody has
> to make a Page and also set it to be using this Page Template, and then
> also set the Settings->Reading settings incorrectly as well.
>
> See, if you have the Settings->Reading settings set correctly, with both
> the Front and Posts pages set to some values, then it is not possible for
> the Page to use your custom Page Template. So your "blog.php" here will not
> get used unless you also instruct the user to set up the site incorrectly
> (aka, incompletely). The correct way is to use the home.php to do a normal
> Blog loop, and then that will be used no matter where the blog posts are
> displayed, as long as the site is set up correctly.
>
> -Otto
>
>
> On Sat, Jul 5, 2014 at 1:13 PM, Philip M. Hofer (Frumph) <
> philip at frumph.net> wrote:
>
>>   it’s a template that themes have that do the blog loop that can be
>> associated to a page, either custom for specific categories are all
>>
>>  “there’s no way to display it using any other template file”
>>
>> This is what I use, works fine:
>>
>> <?php
>> /*
>> Template Name: Blog
>> */
>> get_header();
>>
>> $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
>>
>> $blog_query = array(
>>         'paged' => $paged,
>>         'post_type' => 'post',
>>         'in_the_loop' => true,
>>         'posts_per_page' => comicpress_themeinfo('home_post_count')
>>         );
>>
>> $wp_query = new WP_Query(); $wp_query->query($blog_query);
>> if (have_posts()) {
>>     while (have_posts()) : the_post();
>>         $withcomment = 0;
>>         get_template_part('content', get_post_format());
>>     endwhile;
>>     comicpress_pagination();
>> }
>>
>> wp_reset_query();
>>
>> get_footer();
>>
>>
>>  *From:* Otto <otto at ottodestruct.com>
>> *Sent:* Saturday, July 05, 2014 11:00 AM
>>  *To:* Discussion list for WordPress theme reviewers.
>> <theme-reviewers at lists.wordpress.org>
>> *Subject:* Re: [theme-reviewers] Is Blog.php is allowed in theme?
>>
>>    On Sat, Jul 5, 2014 at 12:48 PM, Philip M. Hofer (Frumph) <
>> philip at frumph.net> wrote:
>>
>>>   The blog template is the point I was making in the first place, where
>>> if you do *not* want the is_home or is_front_page events to execute, that
>>> is the only way to bypass that; which makes having a blog.php useful.
>>>
>>>
>>
>> No, I mean, there is nothing in the code that I can find for "blog.php"
>> at all. It's not mentioned in the Template Hierarchy, there's nothing in
>> the template.php core file that mentions it. So, what exactly is this
>> "blog.php" to which you refer?
>>
>> As far as I know, if you're displaying the results of the main posts
>> query, then you're doing it on front-page.php, home.php, or index.php.
>> There's no way to display it using any other template file.
>>
>> -Otto
>>
>> ------------------------------
>> _______________________________________________
>> theme-reviewers mailing list
>> theme-reviewers at lists.wordpress.org
>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>
>> _______________________________________________
>> theme-reviewers mailing list
>> theme-reviewers at lists.wordpress.org
>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>>
>>
>
> ------------------------------
> _______________________________________________
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
> _______________________________________________
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20140705/3e064826/attachment.html>


More information about the theme-reviewers mailing list