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

Chip Bennett chip at chipbennett.net
Sat Sep 14 17:59:13 UTC 2013


For future reference, I thought it might be helpful to write all of this
out in greater detail:
http://www.chipbennett.net/2013/09/14/home-page-and-front-page-and-templates-oh-my/


On Sat, Sep 14, 2013 at 9:13 AM, Chip Bennett <chip at chipbennett.net> wrote:

> Yeah, that's a different scenario altogether. :) What you're describing
> sounds like something that is actually a custom page template, with
> multiple queries/loops.
>
> If you can describe (in as much detail as possible) what you're trying to
> implement, I'm sure we can help you.
>
>
> On Sat, Sep 14, 2013 at 9:09 AM, Philip M. Hofer (Frumph) <
> philip at frumph.net> wrote:
>
>>   Cool, glad you got yours working, still need to figure out mine ;/
>> since my implementation isn’t like that.  (well the implementation I want
>> to do ;/)
>>
>> Multiple Templates with different post type loops that need pagination
>>
>>
>>
>>  *From:* Zulfikar Nore <zulfikarnore at live.com>
>> *Sent:* Saturday, September 14, 2013 5:41 AM
>> *To:* Theme Reviewers <theme-reviewers at lists.wordpress.org>
>> *Subject:* Re: [theme-reviewers] Feedback on use of query_posts
>> please-Badidea?
>>
>>  "ZGani - take note here: on the static page assigned to display the blog
>>
>> posts index, any custom page template assignment is ignored. So, whether or
>> not you assign a custom template to that page, WordPress is going to use
>> either home.php or index.php to render that page."
>>
>> That is where I was getting stamped and didn't know why - totally makes
>> sense now with that explanation. Appreciated :)
>>
>> Given the way I intended to have the theme and what users have asked for
>> I think template-featured.php is way to go rather than front-page.php.
>>
>> Once again thanks Chip - I now have an implementation to take forward for
>> my future themes :)
>>
>> Zulf
>>  ------------------------------
>> Date: Sat, 14 Sep 2013 08:19:55 -0400
>> From: chip at chipbennett.net
>> To: theme-reviewers at lists.wordpress.org
>> Subject: Re: [theme-reviewers] Feedback on use of query_posts
>> please-Badidea?
>>
>>  Not really. In the OP, the custom page template was an intended
>> solution/implementation. The root issue was *display of the blog posts
>> index on a page other than the site front page*.
>>
>> The problem is that the intended solution/implementation was incorrect,
>> thereby causing the pagination problems. Basically, if you're using
>> template files the way WordPress expects, then WordPress properly handles
>> the $query for the given context - including pagination.
>>
>> Pagination is only an issue if a custom page template is used to
>> circumvent core WordPress handling of the blog posts index (i.e. a
>> template-blog.php). If you're using home.php, and have the user properly
>> configure "front page displays", "front page", and "posts page", then you
>> won't see any pagination issues.
>>
>> The issue arises when using template files other than the way WordPress
>> expects, such as using a custom page template to display the blog posts
>> index. In that circumstance - a custom page template - WordPress sees the
>> main $query as the static-page post, and applies the pagination to the
>> static-page post. Any secondary query, regardless of how it's added, will
>> have no impact on pagination - thus requiring a pagination work-around.
>>
>> But if you rename template-blog.php as home.php, and instruct the user to
>> configure settings -> reading properly, then WordPress recognizes the
>> static page assigned as the "posts page" as the blog posts index, uses the
>> home.php template to render it, recognizes $query as the blog posts index,
>> and applies pagination properly to the blog posts index.
>>
>>
>> On Sat, Sep 14, 2013 at 7:54 AM, Philip M. Hofer (Frumph) <
>> philip at frumph.net> wrote:
>>
>>   the template is what we were talking about but making pagination work
>> for it since it’s not a pregenerated loop
>>
>>
>>
>>  *From:* Chip Bennett <chip at chipbennett.net>
>> *Sent:* Saturday, September 14, 2013 4:50 AM
>>  *To:* Discussion list for WordPress theme reviewers.<theme-reviewers at lists.wordpress.org>
>> *Subject:* Re: [theme-reviewers] Feedback on use of query_posts
>> please-Badidea?
>>
>>   There are multiple options, including conditional statements inside
>> front-page.php and filtering front_page_template; but don't forget: you
>> don't *have* to use front-page.php at all.
>>
>> You can omit it, and package template-featured.php as a custom page
>> template. That way, the user has the control/option to use the featured
>> content template on the front page or on a different page, as well as the
>> control/option to use the featured content template or a default static
>> page on the site front page.
>>
>>
>> On Fri, Sep 13, 2013 at 11:06 PM, Philip M. Hofer (Frumph) <
>> philip at frumph.net> 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) <philip at frumph.net>
>> *Sent:* Friday, September 13, 2013 8:04 PM
>>  *To:* Discussion list for WordPress theme reviewers.<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 <chip at chipbennett.net>
>> *Sent:* Friday, September 13, 2013 7:48 PM
>> *To:* Discussion list for WordPress theme reviewers.<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> 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 <zulfikarnore at live.com>
>> *Sent:* Friday, September 13, 2013 7:32 PM
>> *To:* Theme Reviewers <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
>> To: 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>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
>> To: 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> 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 <chip at chipbennett.net>
>> *Sent:* Friday, September 13, 2013 7:14 PM
>>  *To:* Discussion list for WordPress theme reviewers.<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> wrote:
>>
>>   Yeah, you’re not getting it.
>>
>> It’s not for the front page
>>
>>
>>
>>  *From:* Chip Bennett <chip at chipbennett.net>
>> *Sent:* Friday, September 13, 2013 7:11 PM
>>  *To:* Discussion list for WordPress theme reviewers.<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>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
>> To: 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>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
>> 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
>>
>> _______________________________________________
>> 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
>>
>> _______________________________________________
>> 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
>>
>>
>> ------------------------------
>> _______________________________________________
>> 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
>>
>>
>> _______________________________________________
>> 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/20130914/7b281490/attachment-0001.html>


More information about the theme-reviewers mailing list