#21228 closed enhancement (fixed)
Add term_taxonomy_id to WP_Tax_Query fields
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | 3.5 | Priority: | normal |
Severity: | normal | Version: | 3.4.1 |
Component: | Taxonomy | Keywords: | has-patch needs-testing commit |
Focuses: | Cc: |
Description
Allows WP_Tax_Query::transform_query( ) to not make any queries in some cases - this already works in the following cases:
1) tax_query with 'include_children' => false, for hierarchical and non-hierarchical taxonomies
2) non-hierarchical taxonomies
By adding the condition in my patch to WP_Tax_Query::transform_query( ), 'include_children' => true works for hierarchical taxonomies when 'field' is 'term_taxonomy_id.'
If cases 1 or 2 are true, the query doesn't need to be transformed at all, which is better than resolving term_ids or slugs / names to tt_ids
Example query:
add_filter( 'pre_get_posts', function ( $query ) { if ( !$query->is_main_query() ) return $query; $tax_query = array( 'include_children' => true, 'taxonomy' => 'region', 'field' => 'term_taxonomy_id', 'terms' => array( 7, 8 ), 'operator' => 'IN' ); $query->set( 'tax_query', array( $tax_query ) ); return $query; } ); register_taxonomy( 'region', 'post', array( 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'labels' => array( 'name' => 'Regions' ) ) );
Attachments (1)
Change History (4)
Note: See
TracTickets for help on using
tickets.
+100