[wp-hackers] get_posts with both a custom post_type and custom taxonomy

Peter Westwood peter.westwood at ftwr.co.uk
Tue Oct 13 06:08:57 UTC 2009


If I recall correctly this is already fixed for 2.9

--
Peter Westwood
http://peter.westwood.name

On 13 Oct 2009, at 01:58, Mike Schinkel <mikeschinkel at newclarity.net>  
wrote:

> I agree that this is a bug and should be fixed.
>
> If a developer sets post_type in $args get_posts() should respect  
> it , not override it.
>
> -Mike Schinkel
> WordPress Custom Plugins
> http://mikeschinkel.com/custom-wordpress-plugins/
>
>
> On Oct 12, 2009, at 8:52 PM, Christopher O'Connell wrote:
>
>> I agree, it should respect post type. Although, I've been solving  
>> this with pure SQL.
>>
>> YMMV
>>
>> ~ Christopher
>>
>> Sent from my iPhone
>>
>> On Oct 12, 2009, at 16:27, Leo germani <leogermani at gmail.com> wrote:
>>
>>> Hi Aaron,
>>>
>>> I often have the same problem when I want a custom query. Thing is  
>>> some
>>> arguments overwrite the others in this function, and your  
>>> resulting query is
>>> selecting posts with post type = post.
>>>
>>> My workaround is to use the query_posts hook to strip out this  
>>> condition
>>> from the resulting sql whenever I want.
>>>
>>> This is an area where Im not sure wether its a bug or an expected  
>>> behavior.
>>> But I think if you pass the post_type paramater it should respect  
>>> it no
>>> matter what other paramaters are passed... Any one agree we could  
>>> open a
>>> ticket for that? To not let other paramaters overwrite the post_type
>>> paramater?
>>>
>>> Leo,,
>>>
>>> On Mon, Oct 12, 2009 at 5:35 PM, Aaron Jorbin <aaron.jorbin at gmail.com 
>>> >wrote:
>>>
>>>> I'm having an issue with get_posts and using a custom post_type and
>>>> custom taxonomy.  It seems to always return empty.  If I do
>>>> `
>>>> $args = array('post_type' => 'my_post_type', 'foo' => 'bar');
>>>> $my_posts = get_posts ($args);
>>>> `
>>>> foo is registered as a registered taxonomy that has query_var set  
>>>> to true.
>>>> If I do a custom query for the following, it returns exactly what I
>>>> would expect.
>>>>
>>>> `
>>>> $sql = "SELECT * from $wpdb->posts
>>>>     LEFT JOIN $wpdb->term_relationships ON
>>>> $wpdb->term_relationships.object_id = $wpdb->posts.id
>>>>     WHERE `$wpdb->posts`.`post_type` = 'my_post_type'
>>>>     AND `$wpdb->term_relationships`.`term_taxonomy_id` =  
>>>> $my_term_id
>>>>     ";
>>>>
>>>> `
>>>>
>>>> Is there an additional step that I am missing?  I opened up a trac
>>>> ticket at http://core.trac.wordpress.org/ticket/10934 but haven't
>>>> heard any responses there, so perhaps this isn't an actual bug.   
>>>> Any
>>>> help that you can lead would be greatly appreciated.
>>>>
>>>> -Aaron Jorbin
>>>>
>>>> --
>>>> aaron.jorbin at gmail.com
>>>> http://aaron.jorb.in
>>>> Twitter: @aaronjorbin
>>>> _______________________________________________
>>>> wp-hackers mailing list
>>>> wp-hackers at lists.automattic.com
>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>>
>>>
>>>
>>>
>>> -- 
>>> leogermani.pirex.com.br
>>> leogermani.estudiolivre.org
>>> _______________________________________________
>>> wp-hackers mailing list
>>> wp-hackers at lists.automattic.com
>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers


More information about the wp-hackers mailing list