もう2月も最終週ですね。早いですね。
1月に決めた予定ががっつり遅れて、なかったことにしてる僕です。
さて、WordPressでのサイト制作の際に、そのまま純粋にWordPressにある機能だけを使って。というのはなかなかなくて、プラグインを追加したり、functions.phpに書いたりとカスタマイズが必要になってきます。
とある機能を追加する場合、プラグインを利用しても、functions.phpに書いても機能的に同じ場合があります。
その場合、プラグインに頼るべきなんでしょうか。それともテーマ(functions.php)に頼るべきなんでしょうか。
目次
きっかけ
これを考える切っ掛けになったのは、プラグイン開発者モンキーレンチ、キタジマさんの記事で
「WordPress で Web サイトの制作を請け負って保守契約も結ぶときに意識しておいたほうが良い5つのこと」
というのを見つけました。
その中の「「機能」はなるべくテーマに持たせない」という見出し部分。
WordPressのテーマレビューチームが出している記事が元になっていますが、
テーマを切り替えたときに何か「機能」が失われたり作成したコンテンツが見えなくなったりしてはいけない、だから「機能」はプラグインの領域でテーマはそれらを含んではいけない
と言っていて、例としてGoogle AnalyticsやFacebookの埋め込みタグを挙げられていて、そういうのをプラグインにしておけば、プラグインアップデートで更新できるよね。ということだそうです。
自分がやっているテーマの作り方だと、プラグインまでいかなくて、ただ単純にAnalyticsコードが書いてあるphpファイルを読み込む方法が多い気がします。
変更の場合はそのファイルだけいじればいいわけですし。
プラグイン化と何が違うのか…
企業もプラグインに頼ることでメリットがありそう
WordPressテーマレビューチームが言うことを、僕なりに考えてみると、GoogleAnalyticsやSNSボタン、SEOオプション?(メタタグや投稿のタイトル)なんかは、テーマでやるんじゃなくて、プラグインの機能として持っておきなさい。ってことだと思います。
確かに、こういった機能をプラグインとして持っておくことで、テーマ切り替えてもそのまま使える方が便利ですし、それに見合うプラグインも存在するので、導入は簡単ですよね。
個人的にプラグインはあまり入れたくない派なんですが、(何を持って信頼するかはわかりませんが)信頼できるプラグインであればこういう考え方もありかなと。
企業サイトでは一着パリっとオーダーでスーツ(テーマ)作って着ることが多いから、スーツを丸々着替えることって少ないと思うんですが、だからこそプラグインにもたせる意味があるのかなと。
AnalyticsやSNSボタンなんかはサイトの構造上必要ない部分のはず(例外もあると思いますが)。
そのため、そういう部分をプラグインに持たせることで、純粋にサイトの目的を考えたテーマを作ることができるんじゃないかなと。
企業サイトだとできる範囲が限られる
ただやっぱり、企業サイトだと独自の機能をたくさん盛り込むことが多いので、それを一つ一つプラグイン化することを考えると、直接テーマに書き込んだほうが工数がすくなくすむんじゃないかなぁと思ったり。
この辺りは、WordPressのプラグインを書いたことがないので憶測になってしまいますが。
それに上述したように企業サイトがテーマを変えるというのは、公開してから早くても2年くらいたたないとないんじゃないかなと。
であれば、やはりプラグイン化するメリットが見えない。
同じ業態のお客さんばかりであれば、そのプラグインを使いまわすことで、工数削減につながると思いますが、多種多様な業態のお客さんが相手の場合は、そのお客さん専用のプラグインみたいになって、結局テーマに書いても変わらんやん。ってなっちゃいますよね。
まとめ
今後は、プラグインの勉強をしながら、少しテーマと機能を切り離したテーマを作っていこうと思います。
ただ、特定のクライアントだけのプラグインを作ってしまうと、今度はライセンス的なものも絡んできそうですし、プラグインの勉強だけじゃなくて、ライセンスの勉強もちゃんとしないといけなくなりますね。
今まではテーマに色々と機能を書き込んでいったものを、汎用性のある部分をプラグイン化していったり、今やってるようにphpファイルにして読み込んだりしていければ、テーマ作成に割く時間を減らせて他のことに力を注げるようになるんじゃないかなと。
数行のプラグインもありますし、まずはやってみないと!というところでしょうか。
そいぎ~