[theme-reviewers] Feedback on use of query_posts please-Badidea?

Justin Tadlock justin at justintadlock.com
Sat Sep 14 03:12:31 UTC 2013


The way it's done in core is a bit confusing.  If you want to make it 
behave like what Chip is saying out of the box and not have to worry 
about two conditions in your `front-page.php` template, you can filter 
the template like so:

```
add_filter( 'front_page_template', 'my_front_page_template' );

function my_front_page_template( $template ) {

     return is_home() ? '' : $template;
}
```

Basically, that just bypasses the `front-page.php` template if posts are 
set to show on the front.


On 9/13/2013 10:06 PM, Philip M. Hofer (Frumph) wrote:
> The big question at this point being that front-page.php if included 
> with theme though overrides the index.php on all counts but I don't 
> want it distributed that way ;/   how would you counter that?
> *From:* Philip M. Hofer (Frumph) <mailto:philip at frumph.net>
> *Sent:* Friday, September 13, 2013 8:04 PM
> *To:* Discussion list for WordPress theme reviewers. 
> <mailto:theme-reviewers at lists.wordpress.org>
> *Subject:* Re: [theme-reviewers] Feedback on use of query_posts 
> please-Badidea?
> So front-page.php basically template redirects 'overrides' the page 
> that you set it to then?   and the blog loop uses the pre-get-parser 
> at that point on it?
> Damn, well yeah I was doing it wrong.  (sorry chip)
> *From:* Chip Bennett <mailto:chip at chipbennett.net>
> *Sent:* Friday, September 13, 2013 7:48 PM
> *To:* Discussion list for WordPress theme reviewers. 
> <mailto:theme-reviewers at lists.wordpress.org>
> *Subject:* Re: [theme-reviewers] Feedback on use of query_posts 
> please-Badidea?
> You don't assign front-page.php to a static page, because 
> front-page.php isn't a custom page template. In fact, front-page.php 
> should *not* even have a "Template Name:" phpDoc header (which is what 
> would allow it to be assigned to a static page).
> The front-page.php template file is used contextually by WordPress, as 
> per the Template Hierarchy, based on settings -> reading -> "front 
> page displays" and "front page".
>
>
> On Fri, Sep 13, 2013 at 10:42 PM, Philip M. Hofer (Frumph) 
> <philip at frumph.net <mailto:philip at frumph.net>> wrote:
>
>     (snicker) guess I' am doing it wrong then, because that has never
>     worked for me to assign front-page.php to a static page it has
>     always overwritten the main
>     *From:* Zulfikar Nore <mailto:zulfikarnore at live.com>
>     *Sent:* Friday, September 13, 2013 7:32 PM
>     *To:* Theme Reviewers <mailto:theme-reviewers at lists.wordpress.org>
>     *Subject:* Re: [theme-reviewers] Feedback on use of query_posts
>     please -Badidea?
>     Ah, progress....
>     Now I'm getting the hang of front-page.php :)
>
>     ------------------------------------------------------------------------
>     Date: Fri, 13 Sep 2013 22:30:14 -0400
>     From: chip at chipbennett.net <mailto:chip at chipbennett.net>
>     To: theme-reviewers at lists.wordpress.org
>     <mailto:theme-reviewers at lists.wordpress.org>
>     Subject: Re: [theme-reviewers] Feedback on use of query_posts
>     please -Badidea?
>
>     Both front-page.php and home.php are templates, defined in the
>     Template Hierarchy. What they are not, however, is custom
>     static-page templates. WordPress provides a core method to assign
>     a static page to the front page and to display the blog posts
>     index, and the Template Hierarchy defines which template files are
>     used to render those contexts.
>     To answer your specific question: when a user selects "static
>     page" for "front page displays, and then assigns static pages to
>     the front page and posts page, WordPress will use front-page.php
>     to render the front page, and home.php to render the posts page.
>
>
>     On Fri, Sep 13, 2013 at 10:27 PM, Zulfikar Nore
>     <zulfikarnore at live.com <mailto:zulfikarnore at live.com>> wrote:
>
>         Neither of which are templates.
>         front-page.php will be picked up first so where will home.php
>         fit in?
>
>
>         ------------------------------------------------------------------------
>         Date: Fri, 13 Sep 2013 22:24:49 -0400
>
>         From: chip at chipbennett.net <mailto:chip at chipbennett.net>
>         To: theme-reviewers at lists.wordpress.org
>         <mailto:theme-reviewers at lists.wordpress.org>
>         Subject: Re: [theme-reviewers] Feedback on use of query_posts
>         please -Badidea?
>
>         That other page is... (wait for it...)
>         home.php
>
>
>         On Fri, Sep 13, 2013 at 10:23 PM, Philip M. Hofer (Frumph)
>         <philip at frumph.net <mailto:philip at frumph.net>> wrote:
>
>             Okay so you have it "HALF" right .
>             the second part of that is to have the BLOG LOOP on
>             another PAGE
>             get it yet?
>             *From:* Chip Bennett <mailto:chip at chipbennett.net>
>             *Sent:* Friday, September 13, 2013 7:14 PM
>             *To:* Discussion list for WordPress theme reviewers.
>             <mailto:theme-reviewers at lists.wordpress.org>
>             *Subject:* Re: [theme-reviewers] Feedback on use of
>             query_posts please -Badidea?
>             No, I think I have it exactly:
>             "But I've had a lot of requests for options to hide
>             certain sections and one of them *was the blog feed on
>             front page*."
>
>
>             On Fri, Sep 13, 2013 at 10:12 PM, Philip M. Hofer (Frumph)
>             <philip at frumph.net <mailto:philip at frumph.net>> wrote:
>
>                 Yeah, you're not getting it.
>                 It's not for the front page
>                 *From:* Chip Bennett <mailto:chip at chipbennett.net>
>                 *Sent:* Friday, September 13, 2013 7:11 PM
>                 *To:* Discussion list for WordPress theme reviewers.
>                 <mailto:theme-reviewers at lists.wordpress.org>
>                 *Subject:* Re: [theme-reviewers] Feedback on use of
>                 query_posts please - Badidea?
>                 index.php is NOT the front page template, and should
>                 not be used as such. It is the default fallback template.
>                 Use front-page.php for your front page template, and
>                 home.php for your blog posts index template. Then all
>                 of your issues go away, magically. :)
>
>
>                 On Fri, Sep 13, 2013 at 9:48 PM, Zulfikar Nore
>                 <zulfikarnore at live.com <mailto:zulfikarnore at live.com>>
>                 wrote:
>
>                     I'm using the index.php showing featured content
>                     at the top followed by the blog feed - which works
>                     fine and I had planned to stick with that. But
>                     I've had a lot of requests for options to hide
>                     certain sections and one of them was the blog feed
>                     on front page.
>                     template.blog.php is to open the option to still
>                     have a page with the blog feed on it when the user
>                     has opted to hide them on the front.
>                     Long story short - user hides posts on front but
>                     still wants a blog fed page and this is my attempt
>                     to fill that need.
>
>                     ------------------------------------------------------------------------
>                     Date: Fri, 13 Sep 2013 21:42:43 -0400
>                     From: chip at chipbennett.net
>                     <mailto:chip at chipbennett.net>
>                     To: theme-reviewers at lists.wordpress.org
>                     <mailto:theme-reviewers at lists.wordpress.org>
>
>                     Subject: Re: [theme-reviewers] Feedback on use of
>                     query_posts please - Bad idea?
>
>                     Why do you need template-blog.php when there is
>                     home.php for exactly that purpose?
>
>
>                     On Fri, Sep 13, 2013 at 8:22 PM, Zulfikar Nore
>                     <zulfikarnore at live.com
>                     <mailto:zulfikarnore at live.com>> wrote:
>
>                         I've read around that using query_posts is bad
>                         but I've seen many a themes using it and get
>                         away with it.
>                         My case is I'm trying to put together a
>                         template-blog.php for StrapVert and this is
>                         what I've come up with so far:
>                         add_filter('option_show_on_front',
>                         '__return_false');
>                           global $wp_query;
>                         query_posts(array(
>                         'paged' => $wp_query->get('paged'),
>                         'post__not_in' => get_option('sticky_posts'),
>                             ));
>                           global $more; $more = 0;
>                         get_template_part('index-blog');
>                         $more = 1;
>                         remove_filter('option_show_on_front',
>                         '__return_false');
>                         wp_reset_query();
>                         wp_reset_postdata();
>                         But before I add these changes to the theme
>                         and submit an update I'd like some feedback on
>                         "How Really Bad" is query_posts and can I "get
>                         away" with the above?
>                         Thanks in advance,
>                         Zulf
>
>                         _______________________________________________
>                         theme-reviewers mailing list
>                         theme-reviewers at lists.wordpress.org
>                         <mailto:theme-reviewers at lists.wordpress.org>
>                         http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
>                     _______________________________________________
>                     theme-reviewers mailing list
>                     theme-reviewers at lists.wordpress.org
>                     <mailto:theme-reviewers at lists.wordpress.org>
>                     http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>                     _______________________________________________
>                     theme-reviewers mailing list
>                     theme-reviewers at lists.wordpress.org
>                     <mailto:theme-reviewers at lists.wordpress.org>
>                     http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>                 ------------------------------------------------------------------------
>                 _______________________________________________
>                 theme-reviewers mailing list
>                 theme-reviewers at lists.wordpress.org
>                 <mailto:theme-reviewers at lists.wordpress.org>
>                 http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>                 _______________________________________________
>                 theme-reviewers mailing list
>                 theme-reviewers at lists.wordpress.org
>                 <mailto:theme-reviewers at lists.wordpress.org>
>                 http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
>             ------------------------------------------------------------------------
>             _______________________________________________
>             theme-reviewers mailing list
>             theme-reviewers at lists.wordpress.org
>             <mailto:theme-reviewers at lists.wordpress.org>
>             http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
>             _______________________________________________
>             theme-reviewers mailing list
>             theme-reviewers at lists.wordpress.org
>             <mailto:theme-reviewers at lists.wordpress.org>
>             http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
>         _______________________________________________
>         theme-reviewers mailing list
>         theme-reviewers at lists.wordpress.org
>         <mailto:theme-reviewers at lists.wordpress.org>
>         http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>         _______________________________________________
>         theme-reviewers mailing list
>         theme-reviewers at lists.wordpress.org
>         <mailto:theme-reviewers at lists.wordpress.org>
>         http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>
>     _______________________________________________ theme-reviewers
>     mailing list theme-reviewers at lists.wordpress.org
>     <mailto:theme-reviewers at lists.wordpress.org>
>     http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>     ------------------------------------------------------------------------
>     _______________________________________________
>     theme-reviewers mailing list
>     theme-reviewers at lists.wordpress.org
>     <mailto:theme-reviewers at lists.wordpress.org>
>     http://lists.wordpress.org/mailman/listinfo/theme-reviewers
>
>     _______________________________________________
>     theme-reviewers mailing list
>     theme-reviewers at lists.wordpress.org
>     <mailto: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/20130913/b5c9f869/attachment-0001.html>


More information about the theme-reviewers mailing list