[wp-hackers] new WP_Query vs. get_posts() - any difference?
jayarjo at gmail.com
Wed Dec 23 18:06:51 UTC 2009
So if I just add suppress_filters=0 into get_posts() it will make
those two approaches identical?
Thank you for explanation!
On Wed, Dec 23, 2009 at 8:27 PM, Austin Matzko <austin at ilfilosofo.com> wrote:
> On Wed, Dec 23, 2009 at 10:10 AM, Davit Barbakadze <jayarjo at gmail.com> wrote:
> > When I need custom loop with wp tag support I usually do:
> > <?php if ($posts = get_posts("cat=4,7")): ?>
> > But sometimes I see a different approach:
> > <?php $query = new WP_Query("cat=4,7");
> > and codex uses it to for demonstration of how the custom loop should be
> > called. First approach is obviously cleaner, but maybe it has unobvious
> > drawbacks?
> Most of the time those two approaches will have the same result.
> However, you should keep in mind that get_posts() by default sets its
> "suppress_filters" argument to true, so if a plugin tries to customize
> results via the WP_Query filters, it will be able to change the
> results in your second, WP_Query example but not the first,
> get_posts() example. Since most themes use WP_Query or query_posts,
> most plugin authors have a reasonable expectation that they'll be able
> to use the WP_Query filters to affect theme output, and any themes you
> make with default get_posts() will defy those expectations.
> Also, since get_posts() instantiates WP_Query() itself, the second
> route is more direct.
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
More information about the wp-hackers