固定ページに指定カテゴリ記事を表示する
公開日:2014年10月26日
WordPressの固定ページに指定カテゴリ記事を表示する。
<?php //カテゴリスラッグ「news」の5件を表示 $paged = get_query_var('paged'); //現在のページ番号 $num = 5; //表示件数 $cat_slug = 'news'; //カテゴリスラッグ query_posts('category_name='.$cat_slug.'&posts_per_page='.$num.'&paged='.$paged); if ( have_posts() ) : while ( have_posts() ) : the_post(); //テンプレートのフォーマット呼び出し get_template_part( 'content' ); endwhile; else : //記事がない時のテンプレート get_template_part( 'content', 'none' ); endif; wp_reset_query(); ?>
条件を指定して投稿情報をロード
array query_posts( mixed $query )
$query
p | 投稿ID |
---|---|
post__in | 取得する投稿IDを配列で指定 ※必ず連想配列で |
post__not_in | 除外する投稿IDを配列で指定 ※必ず連想配列で |
ignore_sticky_posts | 先頭固定表示(sticky)の投稿情報を含めない場合にtrue ※省略時:false |
s | 検索キーワード ※検索対象は投稿タイトルと本文 |
exact | 検索キーワード 完全一致:true 部分一致:false ※省略時:false |
cat | 指定カテゴリーのいずれかに属する投稿情報:カテゴリーID 除外するカテゴリー:-を付けたカテゴリーID ※複数指定は「,(カンマ)」で区切る |
category__in | 指定カテゴリーのいずれかに属する投稿情報:カテゴリーID ※複数指定は連想配列 |
category__not_in | 指定カテゴリーに属さない投稿情報:カテゴリーID ※複数指定は連想配列 |
category_name | 指定カテゴリーのいずれかに属する投稿情報:カテゴリーのスラッグ ※複数指定は「,(カンマ)」で区切る |
tag | 指定タグのいずれかが設定された投稿情報:タグスラッグ ※複数指定は「,(カンマ)」で区切る すべてのタグが設定された投稿情報:タグスラッグを+で区切って指定 |
tag_slug__in | 指定タグのいずれかが設定された投稿情報:タグスラッグ ※複数指定は「,(カンマ)」で区切る |
tag_slug__and | すべてのタグが設定された投稿情報:タグスラッグ ※複数指定は「,(カンマ)」で区切る |
tag__in | 指定タグのいずれかが設定された投稿情報:タグID ※複数指定は「,(カンマ)」で区切る |
tag__not_in | 指定タグの設定されていない投稿情報:タグID ※複数指定は「,(カンマ)」で区切る |
meta_key | カスタムフィールド名 |
meta_value | カスタムフィールド値 |
author | 投稿者ID |
author_name | 投稿者名 |
order | ソート順 昇順:ASC 降順:DESC( ※省略時:DESC |
orderby | ソート対象 例)’author’、’category’、’comment_count’、’date’、’ID’、’title’、’modified’、’rand’等 ※省略時:投稿日時 |
posts_per_page | 最大取得件数 ※省略時:管理画面「表示設定」の「1ページの投稿数」 |
nopaging | 1を指定:posts_per_pageの指定値を無視して条件にマッチする全件数取得 |
paged | ページ番号 get_query_var(‘paged’)で現在のページ番号を取得して設定 |
offset | 取得開始位置 先頭:0 ※省略時:取得件数とページ番号から算出 |
post_type | 投稿タイプ 例)’post’、’page’、カスタム投稿タイプ名、またはそれらの配列 ※’any’を指定:登録されているすべて投稿タイプ |
name | 投稿名 |
m | 投稿日時 ※ 書式:YYYY~YYYYMMDDhhmmss |
hour | 投稿日時の時 |
minute | 投稿日時の分 |
second | 投稿日時の秒 |
year | 投稿日時の年 |
monthnum | 投稿日時の月 |
day | 投稿日時の日 |
date_query | 日付の検索条件を配列で指定 |
fields | 取得したい項目名 例)’ids’の場合:投稿IDのみ |
同じカテゴリーのコンテンツ