PHPなどで静的サイトを構築している時に使えそうな、パンくずリストをスマートに簡易的に実装する例のサンプルです。
色々な方法があるかと思いますので必ずしもこれがスマートというわけではないかもしれませんが、割と私個人的によく利用している方法です。毎回ページ毎にマークアップする必要がなくなります。
早速ですが以下が例になります。functions.php等に設置して利用を想定しています。(※ コーディング規約はPSR2です)
受け取った配列$page_relation_list
を元にパンくずリストをHTMLで返すという簡易的な処理です。配列の数分だけ結合代入演算子.=
を使ってひたすら結合していく流れになっています。
途中で出てくるSITEURL
とBREADCRUMBS_TOP
は定数なので、common.phpなどに最初で記述しておくと良いでしょう。上記例ではWebサイト制作を想定しているのであえて定数としておきました。
あとは各ページにて配列$page_relation_list
にページ名とディレクトリを文字列で指定してあげて、c_genBreadcrumbs
で出力します。配列の中の数を増やしていくと多階層に対応することが出来る仕様です。
ディレクトリ指定の部分は末尾のスラッシュ(トレイリングスラッシュ)は不要です。上記例ではありで統一しているので無しで統一させたい場合はc_gen_breadcrumbs
で該当部分のスラッシュを消すと良いでしょう。
出力されるマークアップは以下になります(※ 見やすい様整形しています)
Googleの構造化データテストツールで確認しても問題無さそうですね^^
ちなみに私はWordPress等のCMSでもパンくずは上記例を元に実装しています。パンくず程度でしたらプラグインを使う必要無いので是非参考にしてみて下さい。