I just tested similar code to what you posted in your last email:
http://wordpress.pastebin.com/srRYBqPF successfully in 3.1-RC3-17376. It
displayed my latest posts as well as the latest entries for 3 custom post
types. I'm not really sure why you are having these issues, but I do not
believe it is due to a bug in get_posts(). Please try the code I posted to
pastebin.

> I tried the code below with the wp_reset_postdata() it seemed to work
> great, until I put a second get_posts loop in the page, after that the 2nd
> one always showed what the first one did despite me change the post_type
> in the query.
>
> This is the actual code I was using.
>
> $posts = '';
>
> // Set options for post query
> $post_args = array(
>       'orderby'       =>  $sort_column,
>       'order'         =>  $sort_order,
>       'numberposts'   =>  $limit,
>       'post_type'     =>  'post',
> );
>
> wp_reset_postdata();
>
> $theposts = get_posts($post_args);
>
> if (count($theposts)>  0) {
>       foreach($theposts as $post) {
>               setup_postdata($post);
>
>               $posts .= '<li><a href=' . get_permalink() . ' title="' .
> sprintf(esc_attr__('Permalink to %s'), the_title_attribute('echo=0')) .
> '" rel="bookmark">' . get_the_title() .'</a></li>';
>       }
>
>       $posts_header = (empty($posts_header)) ? __('Posts') : $posts_header;
>       $posts = '<div id="wp-realtime-sitemap-posts"><h3>' . $posts_header
> .'</h3><ul>' . $posts .'</ul></div>';
> }
>
> $post_types = get_post_types(array('public' =>  true, '_builtin' =>
> false), 'objects');
>
> foreach ($post_types as $post_type) {
>       $custom_post_type_posts = '';
>
>       // Set options for query
>       $post_args = array(
>               'orderby'       =>  $sort_column,
>               'order'         =>  $sort_order,
>               'numberposts'   =>  $limit,
>               'post_type'     =>  $post_type->name,
>       );
>
>       wp_reset_postdata();
>
>       $theposts = get_posts($post_args);
>
>       if (count($theposts)>  0) {
>               foreach($theposts as $post) {
>                       setup_postdata($post);
>
>                       $custom_post_type_posts .= '<li><a href=' . 
> get_permalink() . '
> title="' . sprintf(esc_attr__('Permalink to %s'),
> the_title_attribute('echo=0')) . '" rel="bookmark">' . get_the_title()
> .'</a></li>';
>               }
>
>               $custom_post_types[$post_type->name] = '<div 
> id="wp-realtime-sitemap-' .
> strtolower($post_type->name) . '"><h3>' . $post_type->labels->name .
> '</h3><ul>' . $custom_post_type_posts .'</ul></div>';
>       }
> }
>
> wp_reset_postdata();
>
> ------------------------------
>
> Message: 2
> Date: Sun, 30 Jan 2011 17:04:38 -0700
> From:[email protected]
> Subject: Re: [wp-testers] possible bug in get_posts
> To:[email protected]
> Message-ID:
>       <[email protected]>
> Content-Type: text/plain;charset=iso-8859-1
>
> I don't think that there is a bug in core. Your code looks a bit off to me
> though. Please try the following:
>
> $movies = get_posts( array(
>       'numberposts' =>  '-1',
>       'post_type'   =>  'movies',
>       ) );
>
> /* Backup global $post object !IMPORTANT! */
> $_post_backup = $post;
>
> foreach( (array) $movies as $post ) {
>       setup_postdata( $post );
>       print '<li><a href=' . get_permalink() . ' title="' .
> sprintf(esc_attr__('Permalink to %s'), the_title_attribute('echo=0')) .
> '" rel="bookmark">' . get_the_title() .'</a></li>';
> }
>
> /* Restore global $post object !IMPORTANT! */
> $post = $_post_backup;
>
> Best wishes,
> -Mike
>
> _______________________________________________
> wp-testers mailing list
> [email protected]
> http://lists.automattic.com/mailman/listinfo/wp-testers
>


_______________________________________________
wp-testers mailing list
[email protected]
http://lists.automattic.com/mailman/listinfo/wp-testers

Reply via email to