• 解決済 chouji

    (@dive_kei)


    ループの処理について質問させて頂きます。

    if ( have_posts() ) : while ( have_posts() ) : the_post(); の

    ループ内で $settitle = get_the_title(); と指定した変数を

    ループ外でも個別に変数で $settitle[0] のように呼び出して使いたい

    のですが上手く表示されません。

    どなたか変数を表示する方法を教えて頂けますでしょうか。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • $settitle = array();
    $cnt = 0;
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    $settitle[$cnt] = get_the_title();
    $cnt++;
    endwhile; endif;

    みたいにして、配列として保存しておけるかと思います。

    もしくは、メインループがendwhileで終了してもWP_Queryのインスタンス内には投稿データが残っていますので、そのまま使ってもいいと思います。

    <?php
    if ( have_posts() ) : while ( have_posts() ) : the_post();
    // ループ
    endwhile; endif;
    
    global $wp_query;
    echo get_the_title( $wp_query->posts[0] );
    echo get_the_title( $wp_query->posts[1] );

    (ドキュメント上はWP_Queryの$postsプロパティはaccess publicって書いてあるし…)

    トピック投稿者 chouji

    (@dive_kei)

    お返事が遅くなり申し訳ありません
    jim912様 hissy様 ご教示ありがとうございました。

    お二方の方法どちらも試しまして理想の結果になりました!
    表示は幾つか方法があるんですね大変勉強になりました。

    有難うございます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「ループ内で指定した変数をループ外で使いたい」には新たに返信することはできません。