2008-06-13
■[WordPress]single.phpでパンくずリスト
single.phpで、
というようなパンくずを出したい。
パンくずリスト作成のために、Breadcrumb Navigation XTを使用。
↓
カテゴリーの階層が2階層以上で、最下層のカテゴリーをあてた投稿記事では、
$mybreadcrumb->opt['singleblogpost_category_display'] = true;
としても、single.phpでは、最下層のカテゴリーへのリンクしか出ない。
(prefix) » カテゴリー3 » 件名
という具合。
category.phpでは、階層構造がすべて表示される。
↓
//Display a prefix(prefixの記述)
のあとに、
if(is_single()) {
echo(get_category_parents($cat, true, " » "));
}
を追加。
separatorだけ出てくる。
(prefix) » » カテゴリー3 » 件名
is_singleをはずした場合、category.phpでは親カテゴリーも出てくる。
↓
$catの部分に実際のカテゴリーidを入れたところ、そのカテゴリ名を含め、すべての親カテゴリーが表示。
↓
$cat_now = get_the_category(); $cat_now = $cat_now[0];
で、現在の記事のカテゴリー情報を取得し、
$parent_id = $cat_now->category_parent;
で親カテゴリーの情報を取得。
↓
echo (get_category_parents($parent_id, true, " » "));
で表示された。
↓
が、get_category_parentsでは、separatorが後ろにつくのに対し、
Breadcrumb Navigation XTでは、separatorが前につくので、
prefixとのつなぎ目にはseparatorが出ず、
Breadcrumb Navigation XTのつなぎ目に、separetorが2つ出てしまう。
↓
single.phpでは、Breadcrumb Navigation XTを使わないことにする。
<?php if (class_exists('breadcrumb_navigation_xt')) { //Display a prefix //(prefixの記述) if(is_single()) { $cat_now = get_the_category(); $cat_now = $cat_now[0]; echo("» ".get_category_parents($cat_now, true, " » ")); single_post_title(); } else { //new bredcrumb object ... } } ?>
参考にさせていただいたサイト:
トラックバック - http://d.hatena.ne.jp/masaakib/20080613/1213336016
リンク元
- 1 http://blog.g-mark.net/2006/07/index.html
- 1 http://d.hatena.ne.jp/notify-WarningPage?aHR0cDovL2QuaGF0ZW5hLm5lLmpwL21hc2Fha2liLzIwMDYwNzA0LzExNTIwMjU3ODM=
- 1 http://s.luna.tv/search.aspx?client=lunascape&s=0&gl=jp&hl=ja&q=height 100%
- 1 http://www.google.co.jp/search?hl=ja&q=height:100%&lr=
- 1 http://www.google.co.jp/search?hl=ja&q=wordpress+カスタム構造&btnG=検索&lr=
- 1 http://www.google.co.jp/search?q=CSS height 100%&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
- 1 http://www.google.com/search?client=safari&rls=ja-jp&q=get_category_parents&ie=UTF-8&oe=UTF-8









