[wp-hackers] tags and categories combined not working: is it
a bug or a feature?
Burobjorn
burobjorn at gmail.com
Wed Feb 13 16:25:02 GMT 2008
Ok, Otto just mentioned a bug (http://trac.wordpress.org/ticket/5433)
which seems exaclty what I encountered.
Thanks Otto for mentioning this!
ps:Just out of curiosity how do you use Trac in order to find these? I
searched through it but this never came up...
All the best,
grtz
BjornW
Burobjorn wrote:
> Hi,
>
> After some trial and error and some pointers by Christine and people on
> IRC it seems that using both 1 tag and 1 category produces SQL code but
> no results. However using multiple tags and 1 category does give back
> results. This is odd as there should be a result both times. Perhaps
> this is a bug?
>
> == what I did ==
> I have a lot of posts which belong to categories. Every post belongs to
> at least 2 categories, namely a parent category and a child.
>
> i.e.
> parent category: mediaskills and awarness
> child category: media-awarness
>
> Every post has also been tagged with at least one tag and mostly with
> more than 2.
>
> i.e.
> elderly, kids, teens
>
> Now I would like to get all posts in the category media-awarness (let's
> say the id for this is 12) with the tags 'elderly' and 'kids'. I do this
> using query url parameters:
>
> http://mediawijsheid/?tag=ouderen+kinderen&cat=12
>
> This results in the following query code which I dumped using
> <?php global $wp_query; print_r($wp_query) ?> in the search.php template:
>
> 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
> ('12') AND wp_posts.ID IN (7, 8, 17) AND post_type IN('page', 'post')
> AND (post_status = 'publish' OR post_status = 'private') GROUP BY
> wp_posts.ID ORDER BY post_date DESC LIMIT 0, 10
>
> And I get the results I would expect. When I want to get all posts in
> the category media-awarness (still using id 12) and just the tag
> 'elderly' I get the following SQL code and no results :
>
> 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
> ('12') AND wp_term_taxonomy.taxonomy = 'post_tag' AND
> wp_term_taxonomy.term_id IN ('19') AND post_type IN('page', 'post') AND
> (post_status = 'publish' OR post_status = 'private') GROUP BY
> wp_posts.ID ORDER BY post_date DESC LIMIT 0, 10
>
> What the heck is going on?
>
> Any help much appreciated!
>
> All the best,
>
> grtz
> BjornW
>
--
met vriendelijke groet,
Bjorn Wijers
* b u r o b j o r n .nl *
digitaal vakmanschap | digital craftsmanship
Concordiastraat 68-126
3551 EM Utrecht
The Netherlands
phone: +31 30 2444 101
http://www.burobjorn.nl
More information about the wp-hackers
mailing list