自定义短码,函数PHP WP_QUERY循环

时间:2016-01-28 作者:nsilva

我的函数中有以下代码。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。

我想做的是循环所有属性并返回每个属性的标题,你知道我做错了什么吗?

1 个回复
最合适的回答,由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;