@miya0001 さんに、WordPressでパンくずリストを表示するためのプラグイン9個+1を検証で半ば強引に取り上げてもらったパラメータでカスタマイズしやすいWordPressのパンくずナビを作ってみたのコードを一部デバッグして、さらに簡単に使えるようプラグインにしてみました。
とりあえずプラグイン化しただけなので、国際化とかはまだですし、サンプルとなるCSSなども全然作っていませんが、それについても追って公開していきたいと思います。
ただし、Breadcrumb NavXTとの差別化もあって管理画面などの実装は今のところ考えていません。
フィードバックがあれば、是非お寄せ下さい。
使い方
- 上記のダウンロードリンクより、プラグインのアーカイブファイルをダウンロードし、解凍後、プラグインディレクトリにアップロードしてください。
- プラグイン管理画面より、Prime Strategy Bread Crumbを有効化してください。
- テンプレートファイルのパンくずナビを表示したい箇所に、パンくずナビのテンプレートタグを追加してください。パンくずナビの表示は、テンプレートタグのパラメータで色々と変更ができます。パラメータについては、指定可能なパラメータを参照してください。
テンプレートタグ
デフォルトパターン
<?php if ( function_exists( 'bread_crumb' ) ) { bread_crumb(); } ?>
<ul class="bread_crumb"> <li class="level-1 top"><a href="http://www.example.com/">トップページ</a></li> <li class="level-2 sub"><a href="http://www.example.com/category/honda/">HONDA</a></li> <li class="level-3 sub"><a href="http://www.example.com/category/honda/sports/">スポーツ</a></li> <li class="level-4 sub"><a href="http://www.example.com/category/honda/sports/coupe/">クーペ</a></li> <li class="level-5 sub tail current">インテグラ</li> </ul>
文字列形式
<?php if ( function_exists( 'bread_crumb' ) ) { bread_crumb( 'type=string' ); } ?>
<a href="http://www.example.com/">トップページ</a> > <a href="http://www.example.com/category/honda/">HONDA</a> > <a href="http://www.example.com/category/honda/sports/">スポーツ</a> > <a href="http://www.example.com/category/honda/sports/coupe/">クーペ</a> > <strong class="current">インテグラ</strong>
指定可能なパラメータ
- 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する。
更新履歴
- 2011.08.08 ver. 1.0.0
- カスタム投稿タイプアーカイブ表示時の対応を追加。公式ディレクトリにて公開
- 2011.07.12 ver. 0.8.1
- テンプレートタグでパラメータの指定が無かった場合にNoticeエラーが出ていた問題を修正
- デフォルトパーマリンクでmパラメータに対応できていなかった問題を修正
- 2011.06.30 ver. 0.8.0
- プラグイン化
Thanks to the author plugin. Everything works, it has been – ecoposud.kiev.ua
とても、使いやすいプラグインありがとうございます!
利用させていただいてます。
カテゴリが二つ紐づいてる場合、
single.phpで表示されるパンクズリストを
どちらか一方のカテゴリに指定することはできますか?
例)地域カテゴリ、名称カテゴリがあったとして、
最終的に、地域カテゴリの方のパンクズリストを表示させたい。
○東京>世田谷区>あいうえお店舗
×あ行>あいうえお店舗
araiさん、こんにちは。
bread_crumb_arr というフィルターフックを使うと、表示するパンくずリストの項目を配列で取得することができますので、当行の場合、この配列の操作を行って地域カテゴリーのものに差し替えれば実現可能です。
はじめまして!
WPに不慣れな私でも使いやすいプラグインを作っていただきありがとうございます。
カスタム投稿などにも対応しているので利用させて頂いています。
パラメーターの利用方法などが分からないのですが、
たとえば特定のカテゴリーだけリンク方法を変えることはできるのでしょうか?
例)
HOME > NEWS一覧 > 個別記事
HOME top/index.html
NEWS一覧 top/news/index.html
個別記事 top/news/個別記事id の場合。
固定ページや特定のカテゴリーだけ「個別ページ」に「投稿ページ」の一覧を表示させているのでパンくずのリンク先を指定できると助かるのですが。。無理でしょうか?
phpはまだまだ勉強中なのでどこをカスタマイズできるのか分っていません。
ご教示いただけると嬉しいです。よろしくお願い致します。
はじめまして。
テーマの中に埋め込むことができるので、とても便利だと思って使っています。
実はちょっと困ったことが起きています。
‘type’ => ‘string’の時に ‘navi_element’ => ‘nav’が無視されているようなのです。
ソースコードを見てみると、途中でoutputが上書きされている(93行目)ようなのですが、修正方法がよくわかりません。
現在のところは、bread_crumb()の前後に直接HTMLタグを入れてごまかしているのですが、もし可能であればご対応いただければ助かります。
よろしくお願い申し上げます。
便利に使おうと思って、インストールしました。
Prime Strategy Bread Crumb
最初、正常に動作しているときもしばらくありましたが、現在は、
http://jca-kyoto.jp/
の中では
どこをクリックしても。
http://jca-kyoto.jp/inquiry
にリンクしてしまいます。
phpには、下記のように書きました。
対処法がわかりません。お教えください。
よろしくお願いします。