ループタグの条件を指定するテンプレートタグget_posts()

初心者向けワードプレス作成方法とネットビジネスネタのメモサイト

MovableTypeを凌ぐ無料ブログツールWordPressの基本操作、カスタマイズ方法、プラグインなどの情報を提供

ループタグの条件を指定する<?php $posts=get_posts(); ?>

2007-12-28

WordPressでループタグの条件を指定するテンプレートタグが、
<?php $posts=get_posts(); ?>
です。

このタグは、ループタグが


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

のときに使用します。

ちなみに、<?php query_posts(); ?>は、ループタグが
<?php if(have_posts()):while~ ?>
のときに使用します。

この<?php $posts=get_posts(); ?>はパラメータ挿入して使用します。

<?php $posts=get_posts(‘①&~&⑤’); ?>

①numberposts
 記事数を指定
  デフォルトは、「5」

②offset
 最新の投稿記事から数えて、何番目の記事を表示するか指定
  デフォルトは、「0」

③category
 選択する投稿記事のカテゴリーid(数値)を指定

④orderby
 表示順を設定
  post_author   ・・・ 投稿ユーザーid
  post_date    ・・・ 投稿日(デフォルト)
  post_modified  ・・・ 更新日
  post_name    ・・・ 投稿記事スラッグ
  post_title     ・・・ 投稿記事タイトル
  ID           ・・・ 投稿記事id

⑤order
 表示順を指定
  ASC  ・・・昇順
  DESC ・・・降順(デフォルト)

たとえば、記事数を10個で、記事タイトルの順に表示したいときは、次のように記述します。


<ul>
 <?php $posts=get_posts('numberposts=10&orderby=post_title'); ?>
 <?php if($posts):foreach($posts as $post):setup_postdata($post); ?>
  <?php the_title('<li>','</li>'); ?>
 <?php endforeach;endif; ?>
</ul>

ループタグの条件を指定する<?php query_posts(); ?>

2007-12-27

WordPressでループタグの条件を指定するテンプレートタグが、
<?php query_posts(); ?>
です。

このテンプレートタグはパラメータ挿入して使用します。

<?php query_posts(‘①&~&⑱’); ?>

①cat
 指定したカテゴリーid(数値)の投稿記事を選択

②category_name
 指定したカテゴリースラッグ(文字列)の投稿記事を選択

③author_name
 指定したユーザー(ユーザー名)の投稿記事を選択

④author
 指定したユーザーid(数値)の投稿記事を選択

⑤p
 指定した投稿記事id(数値)の投稿記事を選択

⑥name
 指定した投稿記事スラッグ(文字列)の投稿記事を選択

⑦page_id
 指定したページid(数値)のページを選択

⑧pagename
 指定したページタイトル(文字列)のページを選択

⑨showposts
 投稿記事の表示数を指定

⑩hour
 指定した時間(時)の投稿記事を選択

⑪minute
 指定した時間(分)の投稿記事を選択

⑫second
 指定した時間(秒)の投稿記事を選択

⑬day
 指定した日付(日)の投稿記事を選択

⑭monthnum
 指定した日付(月)の投稿記事を選択

⑮year
 指定した日付(年)の投稿記事を選択

⑯paged
 複数ページのとき、表示するページ数を指定

⑰posts_per_page
 1ページに表示する投稿記事数を指定
  「-1」のときは全て表示

⑱order
 表示順を指定
  ASC  ・・・昇順
  DESC ・・・降順(デフォルト)

たとえば、カテゴリーidが1と3の投稿記事を、最新から10個表示したいときは、次のように記述します。


<ul>
 <?php query_posts('cat=1,3&showposts=10'); ?>
 <?php if(have_posts()):while(have_posts()):the_post(); ?>
  <?php the_title('<li>','</li>'); ?>
 <?php endwhile;endif; ?>
</ul>

繰り返し表示するときに利用するループタグ

2007-11-25

記事タイトル、記事内容など繰り返し表示するときに、ループタグを利用します。


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

このタグは、「投稿記事があれば」「繰り返し表示する」という2つの命令文で構成されています。


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

どちらを利用しても同じ結果になります。

ほかに、「投稿記事があればA、なければB」と命令することもできます。


<?php if(have_posts()):while(have_posts()):the_post(); ?>
A
<?php endwhile;else: ?>
B
<?php endif; ?>

たとえば、Aは記事タイトルを表示する、Bは「記事がありません」と表示する、などの命令文を記述して利用します。
これは以下のように記述しても同じです。


<?php if(have_posts()): ?>
  <?php while(have_posts()):the_post(); ?>
  A
  <?php endwhile; ?>
  <?php else: ?>
  B
<?php endif; ?>

ちなみに、このループタグ<?php if(have_posts()):while~ ?>は次のように記述しても同じ結果になります。


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

-スポンサーサイト-

HOME » ループ
Google