[wp-hackers] nested loops in 3.0 trunk
    Jean-Nicolas Kuttler 
    wp-hackers at nicolaskuttler.de
       
    Thu May 20 10:50:24 UTC 2010
    
    
  
I've been using the following code for some time to nest a loop into a page's main loop via shortcode.
<?php
function nk_category_cloud( $atts ) {
	extract( shortcode_atts( array(
		'category' => '',
	), $atts ) );
	$r = '';
	$my_query = new WP_Query( "cat=$category" );
	if ( $my_query->have_posts() ) {
		while ( $my_query->have_posts() ) {
			$my_query->the_post();
			$r .= '<div class="nk_category_cloud" >';
			$r .= '<a href="' . get_permalink() . '" title="' . get_the_title() . '" >';
			$r .= get_the_excerpt();
			$r .= '</div>';
			}
		}
	}
	$GLOBALS['post'] =  $GLOBALS['wp_query']->post; // restore global $post
	return $r;
}
add_shortcode( 'nk_category_cloud', 'nk_category_cloud' );
?>
In current trunk $my_query contains all recent posts, not just the ones that are in the right category. The $category parameter is passed correctly by the way. The same code works as expected in 2.9.2.
Any ideas what might be wrong?
Nicolas
--
Nicolas Kuttler
wp at nkuttler.de
http://www.nkuttler.de
http://www.nicolaskuttler.de (deutsch)
    
    
More information about the wp-hackers
mailing list