複数サイトで使い回せるプラグイン設計
Webサイトを複数運用していると、同じ機能を何度も実装することになりがちです。お問い合わせフォーム、パンくずリスト、SNSシェアボタンなど、サイトごとに微妙に異なる要件はあるものの、基本的な処理は共通しています。
そこで今回、複数サイトで共通利用できるWordPressプラグインを設計しました。最大のポイントは「疎結合アーキテクチャ」の採用です。
設計のポイント
1. サイト固有設定の分離
プラグイン本体には汎用的なコードのみを含め、サイト固有の設定(色、文言、表示位置など)は別ファイルで管理します。これにより、プラグインをアップデートしても各サイトの設定が上書きされる心配がありません。
2. CSSカスタムプロパティの活用
テーマカラーや余白などのデザイン要素は、CSS変数として定義します。管理画面から値を変更するだけで、サイト全体の配色を一括で変更できます。
3. フック機構による拡張性
WordPressのアクションフックとフィルターフックを活用し、テーマ側から機能を追加・変更できる設計にしました。プラグイン本体を編集せずにカスタマイズが可能です。
運用効果
この設計により、新規サイト構築時の工数が大幅に削減されました。共通機能の実装時間がほぼゼロになり、各サイト固有のコンテンツ制作に集中できるようになっています。また、バグ修正や機能追加も一箇所で行えば全サイトに反映されるため、保守効率も向上しました。