[wp-trac] [WordPress Trac] #21228: Add term_taxonomy_id to WP_Tax_Query fields
WordPress Trac
wp-trac at lists.automattic.com
Thu Jul 12 06:30:52 UTC 2012
#21228: Add term_taxonomy_id to WP_Tax_Query fields
----------------------------+-----------------------------
Reporter: wonderboymusic | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Taxonomy | Version: 3.4.1
Severity: normal | Keywords: has-patch
----------------------------+-----------------------------
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' )
) );
}}}
--
Ticket URL: <http://core.trac.wordpress.org/ticket/21228>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list