3種類のパン屑リスト作成方法の比較
この記事では、WordPressでパン屑リストを作るための3種類の方法を比較し、メリット・デメリットをまとめました。パン屑リストを作るに大きく分けて次の3つの方法があります。
- プラグインを使う方法
- functions.phpでパン屑リストを関数化して一括管理する方法
- 各テンプレートファイルに直接、パン屑リストを書く方法
この3種類の方法には、それぞれにメリット・デメリットがあります。
プラグインを使う方法
この3種類にうち最も簡単なのがプラグインを使う方法です。そのメリット・デメリットを下にまとめますが、結論を言うと「入門者〜初心者向けの方法」です。
メリット
プラグインを使うメリットは、何と言ってもお手軽で専門知識を必要としない点です。極端な話、コードが書けなかったり、WordPressの仕組みを理解していなくても簡単にパン屑リストを作成・利用できます。ですが、デメリットもそれなりにありますので、ある程度コードが書ける人にはオススメできません。
デメリット
プラグインを使うデメリットは、WEBサイトの表示速度・保守性に悪影響を与える点と、詳細なカスタマイズが困難な点です。
- WEBサイトの表示速度:単純にプラグインを使えばサイトの表示速度が遅くなります。ですので、サイト表示速度を低下させないためには、極力プラグインの数は少なくする方が良いです。
- 保守性に悪影響:WordPress本体のアップデートにプラグインのアップデートが追いついていないと、サイトの表示が崩れたり、様々なバグが発生します。そのため、サイトの保守性を考慮するならプラグインの数は極力減らした方が無難です。
- 詳細なカスタマイズが困難:当然プラグインですので、パン屑リストのあらゆるカスタマイズに対応できるわけではありません。デザインの自由度を重視する場合はパン屑リストを自作するしかありません。
funcrions.phpで関数化する方法
3種類の方法の中で最も難易度が高いが、管理が楽になるのがfunctions.phpで関数化して一括管理する方法です。しかし、「WordPress関数をハイレベルに使いこなすことができる上級者向けの方法」ですので、多くの方々には不向きかもしれません。以下に、この方法のメリット・デメリットをまとめます。
メリット
functions.phpでそのサイトの全てのページに対応可能な関数を作り、各ページに関数を呼び出す短いコードを貼る方法ですので、修正したい場合はfunctions.phpのコードを書き直すだけで済みます。この辺の管理の簡単さが最大のメリットです。
また、先にも書きましたが、プラグインを使わずに実装できるため、表示速度や保守管理の点で有利になります。
デメリット
デメリットは何と言ってもパン屑リスト関数の構築難易度が非常に高い点です。パン屑リストの関数化には、WordPress構造とWordPress関数への高いレベルでの理解が必要不可欠になります。
インターネットを検索すれば、コピペで実装可能を謳ったfunctions.php用のパン屑リスト関数が多く見つかりますが、何らかの改良を加えないと正しく表示されない場合がほとんどです。あらゆるページに対応できると謳っていても、実際にコピペして実験してみると対応できていません。
つまり、他人が作ったコードを流用するにも高度な知識が必要になるので、上級者向けの方法と言えます。
テンプレートファイルに直接コードを書く方法
WordPressの各テンプレートファイル(例:single.php、archive.php、page.phpなど)に直接、パン屑リストのコードまたは関数を書き込む方法です。3つの方法の中では、保守管理の手間が少し増えますがデザインの自由度が高く「中級者向けの方法」と言えます。以下にこの方法のメリット・デメリットをまとめます。
メリット
この方法のメリットは下記のようにある程度コードが書ける人であれば、かなりデザイン自由度の高いパン屑リストを作ることができる点です。
- コードが書ければ実装可能
- WordPress関数をある程度理解していればデザイン自由度が増す(カテゴリー名やカスタムタクソノミー名が必要な場合は必須)
- PHP条件分岐をある程度理解できていればデザイン自由度が増す(コードをページ間で共通化可能)
- コードをページ毎に分けて書くため不具合が生じた時に原因を特定しやすい
- プラグインを使わないで済むため、サイト表示速度・保守管理の点で有利
デメリット
この方法のデメリットは、functions.phpで一括管理する方法と比べて、保守管理の手間が増える点です。functions.php一箇所を保守するのと、各テンプレートファイルに分散しているコードを保守するのとでは手間がテンプレートページの数だけ増えます。ただし、よほどの大規模サイトでない限りは作業量として現実的な範囲に収まると思います。
まとめ
パン屑リストを作る3種類の方法を比較しましたが、どの方法にも一長一短がありますので、ご自分の状況に合わせて選ぶので良いと思います。
たとえば、有名コーディング系ブロガーの「はにわまん」さんクラスの方でも下記のように書いていますので、プラグインを使う方法も決して悪いわけではありません。
パンくずリストはWordPressの標準機能にはありません。
自分で1からテーマを作る場合は自作するかプラグインを使うかの2択になるわけですが、自作できないわたしは素直にプラグインを使っています。
HPコード
ただ、私の個人的な考えとしては、中級レベルの方であれば各テンプレートファイルにコードを直接書く方法がデザインの自由度が高く、プラグインが原因のトラブルに巻き込まれることもないため現実的だと思います。