ループ : WordPress


WordPressのループに関する覚書。

ループ

その1 : while


<?php while(have_posts()):the_post() ?>
~
<?php endwhile; ?>

投稿記事のタイトルを表示する場合のコード。


<?php while(have_posts()):the_post() ?>
    <?php the_title ?>
<?php endwhile; ?>

その2 : foreach


<?php foreach($posts as $post): ?>
~
<?php endforeach; ?>

投稿記事のタイトルを表示する場合のコード。


<?php foreach($posts as $post): ?>
    <?php the_title(); ?>
<?php endforeach; ?>

複数の投稿がないシングルページやWordPressページでループ処理を使う場合は、そのページのみが処理されます。

記事の存在判定(if)

ループを処理するwhileやforeach文は、記事の存在を判定するif文と一緒に用いられる場合が多くあります。

その1 : while文


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

記事が存在する場合はタイトルを表示して、存在しない場合はエラーメッセージを表示する場合のコード。


<?php if(have_posts()): ?>
    <?php while(have_posts()):the_post() ?>
        <?php the_title ?>
    <?php endwhile; ?>
<?php esle: ?>
        記事がみつかりません。
<?php endif; ?>

その2 : foreach文


<php if($posts): ?>
<php foreach($posts as $post): ?>
    <?php the_title(); ?>
<?php endforeach; ?>
<php endif; ?>

ループの条件指定

ループの出力は条件指定を行なうことにより制御できます。

query_posts()関数

カテゴリーIDが●に属する記事を1ページ▲件表示する場合は、下記のようになります。


<?php query_posts('cat=●&posts_per_page=▲'); ?>
<?php while(have_posts()):the_post() ?>
~
<?php endwhile; ?>

query_posts関数の詳細は下記のサイトをご覧ください。
»query_posts « Wptags.com
»User:JamesVL/query posts « WordPress Codex

get_posts関数

get_posts関数を使いカテゴリーIDが●に属する記事をリストアップします。


<?php $posts = get_posts('category=●'); ?>
<?php foreach($posts as $post): ?>
    <?php the_title(); ?>
<?php endforeach; ?>

get_posts関数の詳細は下記のサイトをご覧ください。
»get_posts « Wptags.com
»Template Tags/get posts « WordPress Codex

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。