他人のサイトをカスタマイズする時に便利なプラグイン

他の人に頼まれてWordpressのサイトをカスタマイズする時に一番困るのが、

子テーマを使っていない時です。

CSSのカスタマイズであれば、最近では『追加CSS』というWordpress標準機能を使えば、子テーマは無くてもカスタマイズができます。

しかし、子テーマが無いとfunction.phpのカスタマイズが必要な時に困ります。

子テーマが無いのにfunction.phpのカスタマイズが必要になったら?

function.phpを使ったカスタマイズが必要な時に子テーマがないと本当に困ります。

親テーマのfunction.phpを直接編集すると困ったことが起きます

子テーマを使っていない場合、親テーマのfunction.phpを直接編集することになります。そうなるとテーマの更新で親テーマのfunction.phpでカスタマイズした内容はきれいさっぱり消えます。

子テーマを新規導入するリスクはある

じゃぁ、子テーマを導入すればよいじゃないかと言う話ですが、子テーマを導入するのが手間な場合もありますし、他の人のサイトで勝手に子テーマを導入して、サイトが表示されなくなったりしたら目も当てられません。

特に追加CSSでカスタマイズしていると子テーマ導入できれいさっぱり消えます。

そんなこんなで、ついつい親テーマのfunction.phpを編集してしまうことが多いです。

そもそもfunction.phpを編集するのもリスクがある

function.phpを編集する時に困るのは、最近ではサーバーによってはfunction.phpをテーマエディタから編集できない場合もあったりします。そのトラブルシュートができる場合と出来ない場合もあったりして、function.phpを編集しないと出来ないカスタマイズを他人のサイトでするのは結構地雷だったりします。

そんな時に見つけたのがCode snippetsと言うプラグイン

Code snippetsと言うプラグインがあります。

このプラグインを使うと、親テーマ、子テーマに限らずfunction.phpに書き込むコードをプラグインの中で記述することができ、さらにコードごとに分類して管理することができます。

なんと素晴らしいプラグインでしょうか。

Code snippetsプラグインを使うメリットは?

  • 肥大化してスパゲティになったfunction.phpをプラグインで管理
  • 子テーマがないサイトのfunction.phpのカスタマイズ
  • エラーがっても画面が白くならない
  • add_actionやadd_filterを使うフックの処理は、Code snippetsで完全に置き換えることができる
  • snippetごとにON/OFFをプラグインから切り替えられる

Code snippetsプラグインはfunction.phpと同じ?

厳密に言うとfunction.phpで出来ることをすべてできるわけではありません。

まず、function.phpと読み込まれるタイミングが違うようで、読み込みタイミングに依存するような記述はCode snipeetsではエラーになってしまいます。

例えば、子テーマのfunction.phpで親テーマの関数定義を上書きするようなケースをCode snippetsで置き換えようとすると、親テーマの関数定義よりも遅く読み込まれるようで、関数が二重定義というエラーになり保存⇒アクティベートできません。

つまり、読み込みタイミングに依存しているようなケースはfunction.phpから置き換えることができません。

そういうケースは、function.phpに記述するか、カスタマイズ方法を変えるしかありません。

まとめ

Code snippetsはとても地味ですが、function.phpの整理のツールとしてはとても使えます。

 

 

タイトルとURLをコピーしました