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

Philip M. Hofer (Frumph) philip at frumph.net
Sat Jul 5 21:01:02 UTC 2014


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 
Sent: Saturday, July 05, 2014 1:20 PM
To: Discussion list for WordPress theme reviewers. 
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 
  Sent: Saturday, July 05, 2014 11:00 AM
  To: Discussion list for WordPress theme reviewers. 
  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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20140705/3325b327/attachment.html>


More information about the theme-reviewers mailing list