パンくずナビの設置
パンくずナビを設置するには、テンプレートファイル上の表示させたい箇所に以下の記述を追加仕手いただく必要があります。
<?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' );
カスタマイズ例でパンくずのリンク先を設定するパラメータですが、’url’ ではなく、’link’ ではないでしょうか?
ありがとうございます。修正いたしました。
こちらのプラグインを使用したところプラグインのサイト構造のページのみ(管理画面)500 – 内部サーバー エラーですとなります。モジュールやSEO&SMOなどは問題なくアクセスする事は出来ています。
何か原因や以前同様の現象がありましたでしょうか?
ピンバック: WP SiteManagerの使い方 | WEBに関するあれこれ解決!
パラメーターの設定のところで質問があります。
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’); } ?>
複数のパラメータを設定したい時はどのように記述すればよいのでしょうか?ご回答いただけると助かります。
平素は、大変お世話になっております。
絶対にあるだろうと色々調べましたが分かりませんでした。(泣)
トップページだけパンくずナビを表示させない様に出来ますでしょうか?
自己解決しました。
で囲むとOKでした。
パンくずを構造化マークアップしたいのですが、そういったカスタマイズは可能でしょうか?あるいは、プラグインのパンくずを構造化マークアップ対応にされるご予定はありますか?
1.1.0を使用していますが、固定ページ「A」にカテゴリーをひもづけてパンくずを表示したところ、(カテゴリを「B」・投稿を「C」とします。)
投稿「C」の表示の場合は、ホーム>A>B1>C1と表示されますが、
カテゴリ「B」の表示の時、ホーム>B1と表示されます。
ホーム>A>B1という表示にするにはどうしたらいいのでしょうか?
お世話になります。
HOME > アーカイブ名 > カテゴリ名01 > シングルページ名
というものを、
HOME > アーカイブ名 > シングルページ名
というふうに
特定のカテゴリー名を表示しないようにするには
どうしたらよいでしょうか?