[wp-trac] [WordPress Trac] #15797: calling query_posts with category_not_in doesn't affect the query
WordPress Trac
wp-trac at lists.automattic.com
Mon Dec 13 14:53:45 UTC 2010
#15797: calling query_posts with category_not_in doesn't affect the query
--------------------------+-------------------------------------------------
Reporter: westi | Owner: scribu
Type: defect (bug) | Status: new
Priority: high | Milestone: 3.1
Component: Taxonomy | Version: 3.1
Severity: blocker | Keywords:
--------------------------+-------------------------------------------------
Example NOT IN:
{{{
function doit_category__not_in() {
$results = query_posts( array( 'category__not_in' => array ( '1' )
) );
}
add_action('admin_init', 'doit_category__not_in');
}}}
Queries:
{{{
# SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND
wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR
wp_posts.post_status = 'future' OR wp_posts.post_status = 'draft' OR
wp_posts.post_status = 'pending' OR wp_posts.post_status = 'private')
ORDER BY wp_posts.post_date DESC LIMIT 0, 10
require_once, do_action, call_user_func_array, doit_category__not_in,
query_posts, WP_Query->query, WP_Query->get_posts #10 (46.5ms)
# SELECT FOUND_ROWS()
require_once, do_action, call_user_func_array, doit_category__not_in,
query_posts, WP_Query->query, WP_Query->get_posts #11 (0.2ms)
# SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN
wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN
wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND
tr.object_id IN (225, 224, 223, 222, 221, 220, 219, 218, 217, 207) ORDER
BY t.name ASC
require_once, do_action, call_user_func_array, doit_category__not_in,
query_posts, WP_Query->query, WP_Query->get_posts, update_post_caches,
update_object_term_cache, wp_get_object_terms #12 (33.0ms)
# SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN
(225,224,223,222,221,220,219,218,217,207)
require_once, do_action, call_user_func_array, doit_category__not_in,
query_posts, WP_Query->query, WP_Query->get_posts, update_post_caches,
update_postmeta_cache, update_meta_cache #13 (14.1ms)
}}}
Example IN:
{{{
function doit_category__in() {
$results = query_posts( array( 'category__in' => array ( '1' ) )
);
}
add_action('admin_init', 'doit_category__in');
}}}
Queries:
{{{
# SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE taxonomy =
'category' AND term_id IN (1)
require_once, do_action, call_user_func_array, doit_category__in,
query_posts, WP_Query->query, WP_Query->get_posts, WP_Tax_Query->get_sql,
WP_Tax_Query->_transform_terms #14 (0.4ms)
# SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN
wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (1) ) AND
wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR
wp_posts.post_status = 'future' OR wp_posts.post_status = 'draft' OR
wp_posts.post_status = 'pending' OR wp_posts.post_status = 'private')
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10
require_once, do_action, call_user_func_array, doit_category__in,
query_posts, WP_Query->query, WP_Query->get_posts #15 (6.6ms)
# SELECT FOUND_ROWS()
require_once, do_action, call_user_func_array, doit_category__in,
query_posts, WP_Query->query, WP_Query->get_posts
}}}
--
Ticket URL: <http://core.trac.wordpress.org/ticket/15797>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list