サポート » テーマ » WordPressループについて。

  • 解決済 osamuya

    (@osamuya)


     お世話になります。

     ものすごく基本的な部分で、Wordpressループというものがありますが、通常書籍などでもWordpressループを書く時には、

    <?php if (have_posts()) : ?>
    		// 投稿一覧を表示する前の処理内容
    	<?php while (have_posts()) : the_post(); ?>
    		// 各投稿を表示する処理内容
    	<?php endwhile; ?>
    		// 投稿一覧を表示した後の処理内容
    <?php else : ?>
    		// 投稿が無いときの処理内容
    <?php endif; ?>

    というような書き方を紹介しています。
    私はあまりこのような書き方がなれていなくて、全体を<?php xxxxx ?>で覆ってしまって、print文などで出力しているのですが、このWordpressループを書き換えてもうまくいきませんでした。

    while (have_posts) {
      $title = the_title('','',false);
      print $title;
    }

    どうもこれでは塩梅が悪いみたいで、読み込みにものすごい時間がかかってしまいます。PHP内で一繋ぎで書くには、どういった書き方が適当なのでしょう?

     もしわかる方ががいましたらご教授願います。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • あまり、テーマは詳しくないのですが、一応、書いておきます。

    the_post()は必須かと。
    あとwhile文の式も間違ってます。関数の戻り値なので()が要ります。

    while (have_posts()) {
      the_post();
      $title = the_title('','',false);
      print $title;
    }

    で、行けると思います。

    ただし、このループの直前に

    query_posts('&posts_per_page=20');

    のような記述で投稿情報をロードする必要があると思います。

    ※最初のサンプルコードにあるif文は、osamuyaのコードに合わせて省略しましたので、必要の応じて追加しておいて下さい。

    トピック投稿者 osamuya

    (@osamuya)

    redcockerさん、ありがとうございます。
    ばっちりいけました。コードの意味もわかりました。大変助かりました。
    ありがとうございます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「WordPressループについて。」には新たに返信することはできません。