[wp-trac] [WordPress Trac] #31246: Notice: Undefined offset: 0 in wp-includes/query.php on line 3877

WordPress Trac noreply at wordpress.org
Sat Feb 7 19:40:28 UTC 2015

#31246: Notice: Undefined offset: 0 in wp-includes/query.php on line 3877
 Reporter:  Mediastuttgart  |       Owner:
     Type:  defect (bug)    |      Status:  new
 Priority:  normal          |   Milestone:  4.1.1
Component:  Query           |     Version:  4.1
 Severity:  trivial         |  Resolution:
 Keywords:                  |     Focuses:
Changes (by boonebgorges):

 * keywords:  reporter-feedback =>
 * severity:  normal => trivial
 * milestone:  Awaiting Review => 4.1.1


 Thanks for the link, Chouby.

 Your use of 'lang=all' is confusing `WP_Query` a bit. Earlier in
 `WP_Query::parse_query()`, `WP_Query::parse_tax_query()` is detecting that
 the 'lang=all' query looks like a taxonomy term query, and so sets the
 `is_tax` flag to `true`. Then, at the 'parse_query' hook, you are
 unsetting the 'lang' argument, so that when the tax query is reparsed in
 `get_posts()`, no 'lang' parameter is found. In other words: `WP_Query`
 first thinks that this is going to be a taxonomy query, but by unsetting
 'lang' later on, you're sorta pulling the rug out.

 The trick here (and the reason you're unsetting the query var) is that
 'all' is, of course, not actually a term in the 'language' taxonomy. I
 think your trick is OK, but you might consider running it a little sooner,
 maybe at 'parse_request', so that it would be sorted out before `WP_Query`
 has initialized.

 In any case, this is strictly speaking a regression in
 `get_queried_object()` - the new logic in 4.1 is slightly less forgiving
 in odd cases like this - so let's go ahead and fix it for 4.1.1.

Ticket URL: <https://core.trac.wordpress.org/ticket/31246#comment:5>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list