[wp-trac] [WordPress Trac] #9985: 'category__and' stopped working

WordPress Trac wp-trac at lists.automattic.com
Sat May 30 19:55:48 GMT 2009


#9985: 'category__and' stopped working
--------------------------+-------------------------------------------------
 Reporter:  jayant        |       Owner:            
     Type:  defect (bug)  |      Status:  new       
 Priority:  normal        |   Milestone:  Unassigned
Component:  General       |     Version:  2.8       
 Severity:  major         |    Keywords:            
--------------------------+-------------------------------------------------
 Operating System: Ubuntu 9.04[[BR]]
 Webserver: Apache 2.2.11[[BR]]
 PHP: 5.2.6[[BR]]
 MySQL: 5.0.75[[BR]]
 Wordpress Version: Nightly build 05/29/09 -> 2.8-beta2 changeset
 11491[[BR]]

 Works fine with Wordpress 2.7.1.[[BR]]

 Steps to Reproduce:[[BR]]
 1) Create two categories lets say catA (id: 3) and catB (id: 6).[[BR]]
 2) Create a post with the two categories selected and publish it.[[BR]]
 3) Modify the WP loop query in the theme to:[[BR]]
 query_posts(array('category__and'=>array(3,6), 'showposts'=>3));[[BR]]

 Result:[[BR]]
 No post show up in the WP loop.[[BR]]

 SQL Query Log:[[BR]]
 090530 12:32:22      40 Connect     cb_wp_main at localhost on [[BR]]
                      40 Query       SET NAMES utf8[[BR]]
                      40 Init DB     cb_wp_main[[BR]]
                      40 Query       SELECT option_name, option_value FROM
 wp_options WHERE autoload = 'yes'[[BR]]
                      40 Query       SELECT * FROM wp_users WHERE
 user_login = 'admin'[[BR]]
                      40 Query       SELECT meta_key, meta_value FROM
 wp_usermeta WHERE user_id = 1[[BR]]
                      40 Query       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 = 'private')
 ORDER BY wp_posts.post_date DESC LIMIT 0, 10[[BR]]
                      40 Query       SELECT FOUND_ROWS()[[BR]]
                      40 Query       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') AND
 tr.object_id IN (8, 5, 1) ORDER BY t.name ASC[[BR]]
                      40 Query       SELECT post_id, meta_key, meta_value
 FROM wp_postmeta WHERE post_id IN (8,5,1)[[BR]]
                      40 Query       SELECT YEAR(post_date) AS `year`,
 MONTH(post_date) AS `month`, count(ID) as posts FROM wp_posts  WHERE
 post_type = 'post' AND post_status = 'publish' GROUP BY YEAR(post_date),
 MONTH(post_date) ORDER BY post_date DESC[[BR]]
                      40 Query       SELECT * FROM wp_posts  WHERE
 (post_type = 'page' AND post_status = 'publish')  AND ( ID <> 133  AND ID
 <> 113 )    ORDER BY menu_order ASC[[BR]]
                      40 Query       SELECT option_value FROM wp_options
 WHERE option_name = 'page_for_posts' LIMIT 1[[BR]]
                      40 Query       SELECT p.ID FROM wp_posts p INNER JOIN
 wp_term_relationships tr ON (p.ID = tr.object_id) INNER JOIN
 wp_term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) INNER
 JOIN wp_terms t ON (tt.term_id = t.term_id) WHERE tt.taxonomy = 'category'
 AND t.slug IN ('3', '6') GROUP BY p.ID HAVING count(p.ID) = 2[[BR]]
                      40 Query       SELECT SQL_CALC_FOUND_ROWS  wp_posts.*
 FROM wp_posts  WHERE 1=1  AND 0 = 1 AND wp_posts.post_type = 'post' AND
 (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')
 ORDER BY wp_posts.post_date DESC LIMIT 0, 3[[BR]]
                      40 Query       SELECT FOUND_ROWS()[[BR]]
                      40 Query       SELECT SQL_CALC_FOUND_ROWS  wp_posts.*
 FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts.ID =
 wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON
 (wp_term_relationships.term_taxonomy_id =
 wp_term_taxonomy.term_taxonomy_id)  WHERE 1=1  AND
 wp_term_taxonomy.taxonomy = 'category'  AND wp_term_taxonomy.term_id IN
 ('4')  AND wp_posts.post_type = 'post' AND (wp_posts.post_status =
 'publish' OR wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER
 BY wp_posts.post_date DESC LIMIT 0, 3[[BR]]
                      40 Query       SELECT FOUND_ROWS()[[BR]]
                      40 Query       SELECT SQL_CALC_FOUND_ROWS  wp_posts.*
 FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts.ID =
 wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON
 (wp_term_relationships.term_taxonomy_id =
 wp_term_taxonomy.term_taxonomy_id)  WHERE 1=1  AND
 wp_term_taxonomy.taxonomy = 'category'  AND wp_term_taxonomy.term_id IN
 ('5', '6', '7', '8', '9')  AND wp_posts.post_type = 'post' AND
 (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private')
 GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 7[[BR]]
                      40 Query       SELECT FOUND_ROWS()[[BR]]
                      40 Query       SELECT * FROM wp_posts  WHERE
 post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC
 LIMIT 15[[BR]]
                      40 Query       SELECT t.*, tt.* FROM wp_terms AS t
 INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE
 tt.taxonomy IN ('category')  ORDER BY t.name ASC[[BR]]
                      40 Query       SELECT *  , IF (DATE_ADD(link_updated,
 INTERVAL 120 MINUTE) >= NOW(), 1,0) as recently_updated   FROM wp_links
 WHERE 1=1 AND link_visible = 'Y'     ORDER BY wp_links.link_id ASC[[BR]]
                      40 Quit       [[BR]]

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/9985>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list