人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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)に表示されていたカテゴリーの説明文は非表示にする。

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




●質問者: mkusume
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rouge_2008
●150ポイント ベストアンサー

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>' );
*/ ?>


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

mkusumeさんのコメント
いつもありがとうございます。確認できました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ