wordpress3.5に関して質問です。


http://q.hatena.ne.jp/1362989353

上記と同じ趣旨の質問です。質問の表記がわかりずらかったみたいなので再度整理します。

サイトのページの種類(アーカイブ、カテゴリー、固定ページ)によって違うヘッダーを出力する事を検討しています。それぞれのページにあわせたヘッダーのテンプレートは用意します。

・カテゴリーページ甩ヘッダー header-1.php
・アーカイブ甩ヘッダー header-2.php
・固定ページ甩ヘッダー header-3.php

1)カテゴリーページ(category.php)のヘッダー(header-1.php)にカテゴリーの説明文を出力する。

2)カテゴリーページ(category.php)に表示されていたカテゴリーの説明文は非表示にする。

どのような作業が必要になるでしょうか。
宜しくお願い致します。


回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/03/12 19:49:42
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント150pt

1)カテゴリーページ(category.php)のヘッダー(header-1.php)にカテゴリーの説明文を出力する。

※「header-1.php」は、Twenty Elevenの「header.php」の記述を流用しているものとします。(※追記する記述も「category.php」から一部流用しますが、「category_description()」を利用するとpタグで囲まれてしまうので、ここでは「get_category()」を利用します。)
ここではヘッダーのサイトのタイトルとディスクリプションの下に表示するように追記します。(※違う場所に表示したい場合は返信で知らせてください。)

	<header id="branding" role="banner">
			<hgroup>
				<h1 id="site-title"><span><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></span></h1>
				<h2 id="site-description"><?php bloginfo( 'description' ); ?></h2>
				/* ここから */
				<?php
					$thisCat = get_category(get_query_var('cat'));
					$category_description = $thisCat->description;
					if ( ! empty( $category_description ) )
						echo apply_filters( 'category_archive_meta', '<h3 class="category-archive-meta">' . $category_description . '</h3>' );
				?>
				/* ここまでを追記 */

			</hgroup>


※「category_description」にもディスクリプションが入っていますので、「$category_description = $thisCat->category_description;」としても大丈夫です。
※名前やスラッグも取得できます。(使い方や返り値等は次のページで確認してください。)
・関数リファレンス/get category
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_category


ディスクリプションの表示をCSSで調整します。
・「style.css」に追記

.category-archive-meta {
	font-size: 14px;
	margin: -28px 0px 6px; /* 表示位置だけでなく、ヘッダーの高さを調整します。(※ディスクリプションを表示する分だけヘッダーの高さが大きくなりますので、カテゴリーページ以外のヘッダーと同じ高さになるように「<header id="branding"role="banner">」の要素の高さを確認しながら調整します。) */

}

※各HTML要素の大きさは、Google Chromeの開発者ツールや、Firefoxの場合は「Firebug」(※要インストール)を使って調べるといいです。


2)カテゴリーページ(category.php)に表示されていたカテゴリーの説明文は非表示にする。

「category.php」の22行目~26行目を次のようにコメントアウトするか、あるいは削除します。

					<?php /*
						$category_description = category_description();
						if ( ! empty( $category_description ) )
							echo apply_filters( 'category_archive_meta', '<div class="category-archive-meta">' . $category_description . '</div>' );
					*/ ?>

id:rouge_2008

質問に多少の不備があったとしても、大きく違わないのでしたら、補足(※「質問者から」という欄)で説明してそのまま質問を続行しても大丈夫だと思います。
対応してくれる回答者さんもそれなりにいると思います。

2013/03/12 08:24:30
id:mkusume

いつもありがとうございます。確認できました。

2013/03/12 19:49:17

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません