[wp-trac] [WordPress Trac] #32526: Tax_Query doesn't working in switch_to_blog()

WordPress Trac noreply at wordpress.org
Fri May 29 14:43:14 UTC 2015


#32526: Tax_Query doesn't working in switch_to_blog()
--------------------------------+-----------------------------
 Reporter:  phill_brown         |      Owner:
     Type:  defect (bug)        |     Status:  new
 Priority:  normal              |  Milestone:  Awaiting Review
Component:  Networks and Sites  |    Version:  4.2.2
 Severity:  normal              |   Keywords:
  Focuses:  multisite           |
--------------------------------+-----------------------------
 Scenario:

 * Site 1 has registered taxonomy called news_category. Site 2 hasn't.
 * Site 2 runs `switch_to_blog(1);`
 * Site 2 runs WP_Query with a tax_query parameter

 eg
 {{{
 #!php
 $news = new WP_Query([
     'post_type' => 'news',
     'tax_query' => [
         [
             'taxonomy' => 'news_category',
             'field' => 'slug',
             'terms' => 'wordpress',
         ]
     ]
 ]);
 }}}

 The above query returns 0 results because the tax_query portion errors and
 fails the WHERE clause. In this case, it's caused when the clean_query
 method fails a call to `taxonomy_exists()`. Taxonomy_exists is also baked
 into the logic of other subsequent functions in that method such as
 `is_taxonomy_hierarchical' and `get_term_children`.

 This looks to be a far-reaching issue related to a ticket raised and
 closed years ago: https://core.trac.wordpress.org/ticket/20541.

 I've attached a patch which may resolve the issue specific to Tax_Query.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/32526>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list