サポート » 使い方全般 »  の意味は?

  • satousatosi

    (@satousatosi)


    以下のタグは、記事が無くなるまで◎◎をループするという意味だと
    思います。

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    ◎◎
    <?php endwhile; endif; ?>

    そこで質問なんですが
    1.<?php if(have_posts()): while(have_posts()): the_post(); ?>
    の意味を教えてください。phpのif文に関しての情報はサイトにいくらでもあります。
    しかし、:で区切られた内容を説明しているところは??です。
    また、上記のコードがなぜ記事が無くなるまでループするのかの
    詳細を部分ごとに教えてください。

    2.記事が表示されるのは初期値で10記事です。上記のループですが
    初期値の回数だけループするのか(表示は10記事まで)、
    たくさん記事があるときは10記事になったらループが終わるのか
    を教えてください。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター gatespace

    (@gatespace)

    こんにちは。

    1.<?php if(have_posts()): while(have_posts()): the_post(); ?>
    の意味を教えてください。

    if(): 〜 endif;など構文はPHPの公式マニュアルに説明が記載されています。
    制御構造に関する別の構文
    http://www.php.net/manual/ja/control-structures.alternative-syntax.php

    if (式) {
    	文
    }

    if (式) :
    	文
    endif;

    は同じです。

    2.記事が表示されるのは初期値で10記事です。上記のループですが
    初期値の回数だけループするのか(表示は10記事まで)、
    たくさん記事があるときは10記事になったらループが終わるのか

    日本語Codexに説明がありますがそれはご覧になりましたか?
    The Loop in Action
    http://wpdocs.sourceforge.jp/The_Loop_in_Action
    「初期値の回数だけループ」するのではなく、
    「have_posts() 関数が真を返す限り(取得した投稿の数だけ)ループ」します。
    今回の例であれば、「あらかじめ取得した10件の投稿記事」の数だけループします。

    「あらかじめ取得した投稿記事」というのはカテゴリーアーカイブであればそのカテゴリーの記事を管理画面で指定した表示件数分ですし、
    query_posts などで パラメータを指定してあればその条件に基づきます。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「 の意味は?」には新たに返信することはできません。