我的函数中有以下代码。php文件:-
function featured_properties_func( $atts ) {
$args = array(
\'posts_per_page\'=> -1,
\'post_type\' => \'properties\',
);
$featured_query = new WP_Query( $args );
if( $featured_query->have_posts() ):
while( $featured_query->have_posts() ) : $featured_query->the_post();
$featured_properties = get_the_title();
return $featured_properties;
endwhile;
endif; wp_reset_query();
}
add_shortcode( \'featured_properties\', \'featured_properties_func\' );
当我输出shortcode时,我只得到一个值,因为它应该返回6。
我想做的是循环所有属性并返回每个属性的标题,你知道我做错了什么吗?
最合适的回答,由SO网友:vancoder 整理而成
您正在循环内部返回-因此它在第一次迭代时返回,只给您一个结果。
您应该在循环中构建一个字符串,并且只在循环结束时返回。
类似于
$featured_properties = \'\';
if( $featured_query->have_posts() ):
while( $featured_query->have_posts() ) : $featured_query->the_post();
$featured_properties .= get_the_title() . \'<br />\';
endwhile;
endif; wp_reset_query();
return $featured_properties;