wp パンくずリストプラグインのカスタマイズ
2011/07/20
Googleの検索結果で条件を満たせばパンくずリストを表示してくれるそうな。
そういうブログをちらっと見かけたのでなんとなく条件を満たすことにする。
※Google:ウェブマスター ツール ヘルプ:パンくずリスト
「Breadcrumb NavXT」のカスタマイズは「breadcrumb_navxt_class.php」を修正する。
もちろん自己責任で。
もちろん自己責任で。
メモ
まずはパンくずリストの表示箇所を探す。
ブラウザからパンくずリストの表示されるページを探して、そのテンプレートを表示。
「function_exists('bcn_display')」や「bcn_display()」ってのが見つかるので「プラグイン」フォルダにある「Breadcrumb NavXT」のフォルダ内からそれっぽいのを探す。
考えられるのはPHPファイル。
ありがたいことにPHPファイルは3つだけ。
breadcrumb_navxt_api.php
breadcrumb_navxt_admin.php
breadcrumb_navxt_class.php
breadcrumb_navxt_admin.php
breadcrumb_navxt_class.php
悩むのが面倒だったしファイルも少なかったので各ファイルを開いて「function_exists」や「bcn_display」を検索する。
検索すると「breadcrumb_navxt_class.php」ってのがそれっぽいとわかる。
さらにソースを追いかけると「$this->breadcrumb['title']」がパンくずリストに当たるっぽい。
ということで次に「$this->breadcrumb['title']」の値を入れている箇所を探す。
ちょっと…多かったのその中から関係のありそうな下記に絞る。
$this->breadcrumb['title'] = '<a title="' . $this->~
それぞれを修正するってのも良いんだけどタグが変わると面倒なので別関数に置き換える。
$this->breadcrumb['title'] = '<a title="' . $this->~
↓↓↓
$this->breadcrumb['title'] = $this->makeBcnForGoogle();
みたいな感じで。
↓↓↓
$this->breadcrumb['title'] = $this->makeBcnForGoogle();
みたいな感じで。
ただ、title属性やhref属性がそれぞれで使っている変数が違う。
そのため、各属性を引数にして渡す。
makeBcnForGoogle()は下記のような感じ
- /**
- * Google用に変換
- * @parama str $title title属性の内容
- * @parama str $href href属性の内容
- * @parama str $anchor anchorの内容
- **/
- function makeBcnForGoogle($title, $href, $anchor)
- {
- $bcnTag = "";
- $bcnTag .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
- $bcnTag .= '<a title="' . $title . '" href="' . $href . '" itemprop="url">';
- $bcnTag .= '<span itemprop="title">' . $anchor . '</span>';
- $bcnTag .= '</a>';
- $bcnTag .= '</span>';
- return $bcnTag;
- }