CONTENTS
ループとループの制御用タグ
AD LINK
500万点以上のロイヤリティフリー画像が、なんと100円から使えるイメージバンク。印刷レベルの写真でも500円。ちょっと素材が必要なときに便利です。
TIPS
ループに特定の条件を与えて、
情報の取得をコントロール
表示カテゴリーの絞り込みや表示記事数、並べ替えなどループによる情報の取得条件を指定します。パラメータの数も多く、同一 PHP 内で複数のループを設置できますので、複雑なページデザインを可能にします。
<?php query_posts('A&B&C…クエリ形式で記述'); ?>
- cat : 表示する記事をカテゴリー(ID数値)で指定。
記述例:<?php query_posts('cat=2,3,4'); ?>
記述例:<?php query_posts('cat=-5'); ?>
※マイナスで指定すると除外されます。
- category_name : 表示する記事をカテゴリー(スラッグ名)で指定。
記述例:<?php query_posts('cat=news,information'); ?>
- category__and:複数のカテゴリーを指定。指定されたカテゴリーすべてに属する記事を取得します。
記述例:<?php query_posts(array('category__and'=>array(2,3))); ?>
- category__in:複数のカテゴリーを指定。指定されたカテゴリーのいずれかに属する記事を取得します。子カテゴリー以下は含まれません。
記述例:<?php query_posts(array('category__and'=>array(2,3,4))); ?>
- category__not_in:複数のカテゴリーを指定。指定されたカテゴリーのいずれにも属さない記事を取得します。
記述例:<?php query_posts(array('category__not_in'=>array(2,3))); ?>
- p : 表示する投稿記事をナンバー(ID数値)で指定。
記述例:<?php query_posts('p=123'); ?>
- name : 表示する投稿記事を(スラッグ名)で指定。
記述例:<?php query_posts('name=profile'); ?>
- page_id : 表示するページ記事をナンバー(ID数値)で指定。
記述例:<?php query_posts('page_id=456'); ?>
- pagename : 表示するページ記事をスラッグ(スラッグ名)で指定。
記述例:<?php query_posts('pagename=toppage'); ?>
- showposts : 表示する記事の件数を指定(非推奨)
数字 : 指定件数分の記事を表示。
-1 : すべての記事を表示。
記述例:<?php query_posts('showposts=5'); ?>
- posts_per_page : 表示する記事の件数を指定
数字 : 指定件数分の記事を表示。
-1 : すべての記事を表示。
※表示件数の優先順位は showposts→posts_per_page→ 管理画面の設定。
記述例:<?php query_posts('posts_per_page=5'); ?>
- order : 表示する並び順を指定。
ASC : 昇順で表示。
DESC : 降順で表示(初期設定)
記述例:<?php query_posts('order=ASC'); ?>
- orderby : 並び順の基準を指定。
date : 日付順で並べる(初期設定)
modified : 更新日順で並べる。
category : カテゴリー順で並べる 。
title : タイトル順で並べる。
ID : ID順で並べる。
comment_count:コメントの数順で並べる。
author:投稿者のID順で並べる。
rand:ランダムにする。
parent : 親ベージのID順で並べる(ページ記事のみ有効)
menu_order:ページ投稿画面の、ページ属性で指定した順で並べる(ページ記事のみ有効)
meta_value_num:カスタムフィールドの入力された「値」の順に並べる。
none:並び変えを指定しない。
記述例:<?php query_posts('orderby=title'); ?>
- offset:先頭から表示しない記事の数を指定。
記述例:<?php query_posts('offset=1'); ?>
※パラメータは一部を掲載しています。
TEMPLATE-TAG EXAMPLE<記述例>
<?php query_posts('cat=17&order=ASC&orderby=title&showposts=-1'); ?>
<?php if(have_posts()) : while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink(); ?>" target="_blank"><?php the_title('<li>','</li>'); ?></a>
<?php endwhile; endif; ?>
パラメータ:カテゴリーナンバー17に属する記事をタイトル (title) の昇順 (ASC) に、すべて (-1) 表示する設定。
参考書籍 : WordPress テンプレートタグ虎の巻 エ・ビスヒロ・テック・ラボ著
WordPress-SITE<参考サイト&詳細サイト>
注意:query_postsは、以降のループをすべてを同一条件で表示します。例えばcat=2の記事をqueryで取得すると、その後のループはcat=2の記事だけを表示します。ループの後に wp_reset_query を記述することによって、query を初期設定に戻せます。
query_postsをクリアし初期設定に戻す
ループの後に記述
<?php wp_reset_query(); ?>
TEMPLATE-TAG EXAMPLE<記述例>
<?php query_posts('cat=17&order=ASC&orderby=title&showposts=-1'); ?>
<?php if(have_posts()) : while (have_posts()) : the_post(); ?>
<a href="<?php the_permalink(); ?>" target="_blank"><?php the_title('<li>','</li>'); ?></a>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
RELATED POSTS<関連記事>
TAGS<タグ>