WordPressに関する情報や技術紹介です

個別記事のテンプレート完成

個別記事のテンプレート(single.php)が完成しました。
これで一通りは完成しました。
残すところはお問い合わせのページとなります。

個別記事のテンプレートについてですが、当初各カテゴリ毎で「single-XX.php」というページを作成しようと思ったのですが、増えてきた場合に各ページを変更するのが大変になってくるのと、基本的なテンプレートはほぼ一緒なので条件分岐によって一部の差し替えを行なう事で「single.php」にまとめました。

カテゴリ毎で違うのは以下の2点。

  1. カテゴリ毎でタイトルの画像が違う。
  2. 親カテゴリが無い場合はサブカテゴリの表記を無しにする。

これを踏まえて「single.php」を以下のようにしました。

<?php

/* 変数の宣言 */
$img = ""; //画像のURL
$vis = "display: block"; //サブカテゴリの表示、非表示を設定するスタイル

/* カテゴリデータの取得 */
$cat_now = get_the_category();
$cat_now = $cat_now&#91;0&#93;;

/*
 カテゴリIDの取得
 親カテゴリがある場合は親カテゴリのIDを取得
 親カテゴリがない場合は所属するカテゴリIDを取得
*/
$parent_id = $cat_now->category_parent;

if($parent_id == 0) {
	//親カテゴリが無い場合は現在のカテゴリIDを取得
	$parent_id = $cat_now->cat_ID;
	//サブカテゴリは非表示にする
	$vis = "display: none;";
}

//カテゴリIDによって画像URLを取得
switch($parent_id) {
	case 3:
		$img = "http://www.is-p.cc/wp/wp-content/uploads/2008/04/wordpress01.jpg";
		break;
	case 6:
		$img = "http://www.is-p.cc/wp/wp-content/uploads/2008/05/info01.jpg";
		break;
	default:
		$img = "";
}

?>

これで必要なタイトル画像URLとサブカテゴリの有無による表記の表示・非表示の情報が取得できました。
後は、続けて「single.php」に以下のようにすれば各カテゴリ毎に適切なタイトル画像とサブカテゴリについての表示・非表示が設定できます。

<h2><img src="<?php echo $img; ?>" width="600" height="220" /></h2>

<div style="<?php echo $vis; ?>">
<h3 class="title"><?php echo $cat_now->cat_name; ?></h3>
<p><?php echo $cat_now->category_description; ?></p>
</div>
タグ
,
トラックバックURL

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

ページTOPに戻る