web-dev-qa-db-ja.com

カスタムショートコード、機能 PHP WP_Queryループ

私のfunctions.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' );

私がショートコードを出力するとき、私はそれが6を返すべきであるので、私は1つの値を得るだけです。

私がやりたいことは、すべてのプロパティをループしてそれぞれのタイトルを返すことです。

1
nsilva

あなたはあなたのループの中に戻ってきています - それで最初の繰り返しで戻り、あなたに一つの結果だけを与えます。

代わりに、ループの内側に文字列を作成し、ループが終了したときにのみ返すようにしてください。

何かのようなもの

$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;
5
vancoder