[wp-hackers] Search in given taxonomy term
Patrik Bóna
patrik.bona at mrhead.sk
Fri Sep 10 10:59:34 UTC 2010
I have opened ticket for this issue:
http://core.trac.wordpress.org/ticket/14831
And if anyone is interested, this is my workaround:
function gb_search_join($join, $wp_query) {
global $wpdb, $lang;
if(!$wp_query->is_tax && is_search()) {
$join .= " JOIN $wpdb->term_relationships tr1 ON
($wpdb->posts.ID = tr1.object_ID)
JOIN $wpdb->term_taxonomy tt1 ON (tr1.term_taxonomy_id
= tt1.term_taxonomy_id)
JOIN $wpdb->terms t1 ON (tt1.term_id = t1.term_id AND
tt1.taxonomy = 'jazyk' AND t1.slug = '$lang')";
}
return $join;
}
add_filter('posts_join', 'gb_search_join', 10, 2);
The reason why i am checking $wp_query->is_tax is that when this bug
will be fixed, then is_tax should be set to true in search & taxonomy
query and then JOIN will be not modified. So i don't need to change code
when client will upgrade his WP installation. I hope i am right ;).
Patrik
On 09/08/2010 02:21 PM, scribu wrote:
> On Wed, Sep 8, 2010 at 2:43 PM, Patrik Bóna<patrik.bona at mrhead.sk> wrote:
>
>
>> For example:
>>
>> query_posts("taxonomy=jazyk&term=sk&s=word');
>>
>> in this case taxonomy and term are ignored a everything containing 'word'
>> is returned...
>>
>> And it is also same if i type these parameters to url without
>> query_posts...
>>
>>
> I see. That's a bug. You should open a ticket in trac.
>
>
>
More information about the wp-hackers
mailing list