Code Snippetsの使い方、子テーマ不要でfunctions.phpを編集できるプラグイン

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

WordPressのテーマには関数を定義している「function.php」が存在しています。

テーマのカスタマイズを行いたい場合には、このファイルを編集することで機能を追加したり、逆に削除したりすることができます。WordPressに慣れてきた頃にお世話になる方も多いでしょう。

今回はこのfunction.phpをより簡単に編集、管理できるプラグイン「Code Snippets」のご紹介です。

目次

カスタマイズしたいけど子テーマは面倒

WordPressのテーマをカスタマイズしたい場合は、テーマ内に存在する「function.php」を編集します。

しかし、テーマ本体(親テーマ)のfunction.phpを編集してしまいますと、テーマのアップデートがあった際にファイルが上書きされ、カスタマイズした部分が消えてしまいます。

このため、「子テーマ」を作ってfunction.phpを置き、子テーマの方で編集することが一般的かと思います。

しかし、この「子テーマ」を設置して管理するのが私個人かなり面倒に感じており、できれば子テーマを作らずにカスタマイズしたいと考えていました。機能が多くなるとコードが増えてゴチャゴチャとしてしまい、メンテナンス性も悪いです。

そこで探してみたところ便利なプラグインが見つかりました。それが今回の「Code Snippets」です。

Code Snippetsの概要

Code Snippetsの画面。管理画面からPHPコードが管理できます。

このプラグインでは、主に以下のようなことが可能となっています。

  • 「functions.php」のPHPコードを管理画面から管理できる
  • テーマ本体の「functions.php」とは分けて追記できる
  • テーマの変更やアップデートの影響を受けない
  • 各コードをスニペットで管理でき、かつそれぞれを単独で有効、無効化できる
  • メモを書くことができ、各コードの概要を記すことができる

子テーマ不要!管理画面でコードを管理できる

「Code Snippets」はWordPressのプラグインですので、管理画面から利用できます。

つまり、子テーマを設置する必要がなく、プラグインの設定画面から親テーマのfunction.phpに追記するような形でPHPを記述することができます。

また、親テーマのfunction.phpファイルには直接影響がないため、テーマ本体の機能とカスタマイズ部分とをしっかり分けて管理できます。

テーマのアップデートの影響を受けない

実際に親テーマのfunction.phpを編集しているわけではなく、プラグイン側で追記したように扱っているだけですので、親テーマのアップデートによってfunction.phpが上書きされたとしても、プラグインが有効である限りカスタマイズ部分はそのまま残ってくれます。

このため、テーマ自体を変更したとしても独自のカスタマイズは残り続けます。

スニペットで各コードを管理、機能のON・OFFも個別にできる

各コードはそれぞれ分離させて管理することができます。

例えば、「headerに追記したいコード」と「footerに追記したいコード」を分けて管理することができます。

また、各コードをスイッチひとつでON・OFF(有効・無効化)できるため、今は不要だけどまた有効化するかもといった機能を一旦「無効化」にしたり、何か不具合があった場合には各機能をそれぞれ有効・無効化して確認したりと、柔軟な運用が可能になっています。

それぞれメモも残せますので、「どのような動作をするコードなのか」を記述すると分かりやすくなります。

煩雑になりやすいPHPコードがすっきりと管理できるメンテナンス性の高いプラグインです。

スイッチで各コードの機能を有効化・無効化することができます。

Code Snippetsの使い方

それでは早速プラグインを使っていきたいと思います。

プラグイン名は「Code Snippets」となりますので、WordPressの【プラグイン】→【新規追加】から検索してインストールしてください。

2023年10月現在では、プラグインのアップデートもよくされておりしっかりメンテナンスされているようです。

WordPressの管理画面から新しく「Code Snippets」をインストール、有効化してください。

コードの追加

ダッシュボード左メニューから【スニペット】→【新規追加】で新規作成します。

Code Snippetsのコード記述画面

新規作成用の画面が表示されたら、作成する「コードの名前」を決め、通常通りfunction.phpに追記するようコードを記述してください。

コードの概要を「Description」に記載しますと、どのような動作をするコードなのか分かりやすくなります。

コードを記述したら、実行場所などを指定します。

設定項目説明
Run snippet everywhereいつでもすべての場所で実行します
Only run in administration area管理画面(ダッシュボード)でのみ実行します
Only run on site front-endフロントエンドのみで実行します
Only run once1回だけ実行します
Priority実行順の優先度を指定します

最後に「Save Changes and Activate」または「Save Changes」をクリックして保存してください。

保存しながら有効化する場合は「Save Changes and Activate」です。

コードの有効化、無効化

「すべてのスニペット」画面では、各種コードの有効化・無効化をスイッチで変更できます。

スイッチをONにすると記述のコードが実行されます。一時的に無効化したい場合は、このスイッチをOFFにするだけでコードの実行が無効化されます。

スイッチで各種コードの有効化、無効化が設定できます。

一例:投稿一覧に記事IDを表示させるコードを追記

一例として「投稿一覧」画面に、各記事の「記事ID」を表示させるPHPコードを追記してみたいと思います。

【スニペット】→【新規追加】で新規作成します。

次にコードのタイトルを決めます。ここではシンプルに「投稿一覧に記事IDを表示させる」とします。

実行するPHPコードは下記の通りです。

add_filter('manage_posts_columns', 'posts_columns_id', 5);
add_action('manage_posts_custom_column', 'posts_custom_id_columns', 5, 2);
add_filter('manage_pages_columns', 'posts_columns_id', 5);
add_action('manage_pages_custom_column', 'posts_custom_id_columns', 5, 2);
function posts_columns_id($defaults){
 $defaults['wps_post_id'] = __('ID');
 return $defaults;
}
function posts_custom_id_columns($column_name, $id){
 if($column_name === 'wps_post_id'){
  echo $id;
 }
}
一例として「投稿一覧に記事IDを表示させるコード」を作成しました。

管理画面でのみ実行したいので「Only run in administration area」を選択します。

コードの概要をメモしたら、「Save Charges and Activate」をクリックして保存&有効化してください。

投稿一覧画面へアクセスし、各記事に「ID」が表示されていることが確認できれば成功です。

投稿一覧画面で各記事の記事IDが表示されました。

まとめ

「Code Snippets」はプラグインによるカスタマイズとなるため、functions.phpを直接編集することもなく、簡単にPHPコードを記述して実行させることができます。

特にテーマのアップデートの影響を受けないこと、各コードを個別に管理でき、スイッチひとつで有効・無効を切り替えられる手軽さが気に入りました。PHPコードのメンテナンス性も向上し、管理しやすくなりました。

子テーマも不要になりますので、テーマやWordPressのカスタマイズを行いたいときにぜひ利用したいプラグインと言えます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

長野県在住。化学系の学科へ在学後、現在は植物の生産を仕事にしています。このブログは趣味と実益を兼ねて、仕事の合間に書いています。農家ではありますが、ECサイトの管理なども業務として行っています。

最近はカメラにも興味がでてきました。商材写真の撮影なども勉強したいところです。カメラ系の記事も書くかもしれません。

コメント

   コメント欄を開く

コメントする

目次