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

悩むのが面倒だったしファイルも少なかったので各ファイルを開いて「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();
みたいな感じで。

ただ、title属性やhref属性がそれぞれで使っている変数が違う。
そのため、各属性を引数にして渡す。

makeBcnForGoogle()は下記のような感じ

  1. /**
  2. * Google用に変換
  3. * @parama str $title title属性の内容
  4. * @parama str $href href属性の内容
  5. * @parama str $anchor anchorの内容
  6. **/
  7. function makeBcnForGoogle($title, $href, $anchor)
  8. {
  9.   $bcnTag = "";
  10.   $bcnTag .= '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
  11.   $bcnTag .= '<a title="' . $title . '" href="' . $href . '" itemprop="url">';
  12.   $bcnTag .= '<span itemprop="title">' . $anchor . '</span>';
  13.   $bcnTag .= '</a>';
  14.   $bcnTag .= '</span>';
  15.   
  16.   return $bcnTag;
  17. }

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい