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

Otto otto at ottodestruct.com
Sat Jul 5 20:20:33 UTC 2014


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20140705/3b5257fc/attachment-0001.html>


More information about the theme-reviewers mailing list