Learning site for website creation

固定ページに指定カテゴリ記事を表示する

公開日: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のみ