パンくずナビの表示

パンくずナビの設置

パンくずナビを設置するには、テンプレートファイル上の表示させたい箇所に以下の記述を追加仕手いただく必要があります。

<?php if ( class_exists( 'WP_SiteManager_bread_crumb' ) ) { WP_SiteManager_bread_crumb::bread_crumb(); } ?>

出力サンプル

<ul class="bread_crumb">
    <li class="level-1 top"><a href="http://www.example.com/">Home</a></li>
    <li class="level-2 sub"><a href="http://www.example.com/?post_type=seminar">Seminar</a></li>
    <li class="level-3 sub"><a href="http://www.example.com/?area=tokyo">Tokyo</a></li>
    <li class="level-4 sub tail current">WordBench Tokyo</li>
</ul>

指定可能なパラメーター

パンくずナビでは、パラメーターによって、表示内容やマークアップを自由に変更できます。

リストではなく文字列でのマークアップで出力する場合のパラ―メーター例

<?php if ( class_exists( 'WP_SiteManager_bread_crumb' ) ) { WP_SiteManager_bread_crumb::bread_crumb( 'type=string' ); } ?>
type
stringを指定すると、リストではなく文字列として出力します。デフォルトはlist
home_label
トップページの表示テキスト。デフォルトは「トップページ」
search_label
検索結果の表示テキスト。デフォルトは「『%s』の検索結果」(%sが検索文字列)
404_label
404ページの表示テキスト。デフォルトは「404 Not Found」
category_label
カテゴリーの表示テキスト。デフォルトは「%s」(%sがカテゴリー名)
tag_label
投稿タグの表示テキスト。デフォルトは「%s」(%sが投稿タグ名)
taxonomy_label
カスタムタクソノミーの表示テキスト。デフォルトは「%s」(%sがタクソノミー名)
author_label
寄稿者の表示テキスト。デフォルトは「%s」(%sが寄稿者名)
attachment_label
アタッチメントの表示テキスト。デフォルトは「%s」(%sがアタッチメント名)
year_label
年の表示テキスト。デフォルトは「%s年」(%sが年の数字)

month_label
月の表示テキスト。デフォルトは「%s月」(%sが月の数字)

day_label
日の表示テキスト。デフォルトは「%s日」(%sが日の数字)

joint_string
typeでstringを指定した場合の結合文字列。デフォルトは「>」(>)

navi_element
ラッパー要素名。divまたはnavを選択可能。デフォルトは空(要素無し)

elm_class
ラッパー要素のクラス名。ラッパー要素がなくタイプがリストの場合は、ulのクラス名となる。デフォルトは、「bread_crumb」

elm_id
ラッパー要素のid名。ラッパー要素がなくタイプがリストの場合は、ulのid名となる。デフォルトは、空。(idなし)

li_class
タイプがリストの場合のliに付くクラス名。デフォルトは空(なし)

class_prefix
各クラスに付く接頭辞。デフォルトは空(なし)

current_class
表示中のページのパンくずナビに付与されるクラス名。デフォルトは「current」

indent
タブでのインデント数。デフォルトは0。

echo
出力を行うか。デフォルトはtrue(出力する)。0またはfalseの指定でPHPの値としてreturnする。

パンくずナビの表示をカスタマイズする

サイトの構成等によっては、自動で出力されるルール以外で独自の項目を加えたり、項目を削除したい場合などが出てきます。

パンくずナビ機能では、表示される前に一旦全ての項目を配列で構成しており、この部分に bread_crumb_arr というフィルターフックが存在しています。このフックを用いて、配列の内容を変更することにより、表示されるパンくずナビの項目をカスタマイズすることが可能です。

/*
 * パンくずナビの表示をこまごまと調整するよ。
 */
function custom_bread_crumb( $bread_crumb_arr ) {
	global $post;

	// interview投稿タイプのページでは、パンくずナビで表示されるタイトルをカスタムフィールドで入力したものに変更する
	if ( is_singular( 'interview' ) ) {
		$bread_crumb_arr[count( $bread_crumb_arr )-1]['title'] = get_post_meta( $post->ID, 'client_name', true );
	}

	// product投稿タイプのページでは、3番目の項目(0から始まるため)を表示させない
	if ( is_singular( 'product' ) ) {
		unset( $bread_crumb_arr[2] );
	}


	// agenda分類では、間にインタビューの項目を追加する
	if ( is_tax( 'agenda' ) ) {
		$bread_crumb_arr[2] = $bread_crumb_arr[1];
		$bread_crumb_arr[1] = array( 'title' => 'インタビュー', 'link' => 'http://www.example.com/interview/' );
	}
	return $bread_crumb_arr;
}
add_filter( 'bread_crumb_arr', 'custom_bread_crumb' );

パンくずナビの表示” への10件のコメント

  1. こちらのプラグインを使用したところプラグインのサイト構造のページのみ(管理画面)500 – 内部サーバー エラーですとなります。モジュールやSEO&SMOなどは問題なくアクセスする事は出来ています。
    何か原因や以前同様の現象がありましたでしょうか?

  2. ピンバック: WP SiteManagerの使い方 | WEBに関するあれこれ解決!

  3. パラメーターの設定のところで質問があります。

    ulにid=”breadcrums”を付加し、「トップページ」という表記をWebアイコン+「HOME」という名前に変更したかったため、下記のように記述したのですが、うまくいきませんでした。

    <?php if ( class_exists( 'WP_SiteManager_bread_crumb')){ WP_SiteManager_bread_crumb::bread_crumb('elm_id="breadcrumbs"','home_label= HOME’); } ?>

    複数のパラメータを設定したい時はどのように記述すればよいのでしょうか?ご回答いただけると助かります。

  4. 平素は、大変お世話になっております。
    絶対にあるだろうと色々調べましたが分かりませんでした。(泣)
    トップページだけパンくずナビを表示させない様に出来ますでしょうか?

  5. パンくずを構造化マークアップしたいのですが、そういったカスタマイズは可能でしょうか?あるいは、プラグインのパンくずを構造化マークアップ対応にされるご予定はありますか?

  6. 1.1.0を使用していますが、固定ページ「A」にカテゴリーをひもづけてパンくずを表示したところ、(カテゴリを「B」・投稿を「C」とします。)
    投稿「C」の表示の場合は、ホーム>A>B1>C1と表示されますが、
    カテゴリ「B」の表示の時、ホーム>B1と表示されます。
    ホーム>A>B1という表示にするにはどうしたらいいのでしょうか?

  7. お世話になります。

    HOME > アーカイブ名 > カテゴリ名01 > シングルページ名

    というものを、

    HOME > アーカイブ名 > シングルページ名

    というふうに
    特定のカテゴリー名を表示しないようにするには
    どうしたらよいでしょうか?

コメントを残す

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