WordPressでサイト作りをしていると、テーマや子テーマのfunctions.phpへ追記して動作させる機会が増えてくると思います。
テーマのfunctions.phpへ追記するコードは
- 何かの機能を追加するコード
- 何かの機能を制御するコード
がほとんどで、前者はわざわざプラグインを使わなくても・・という場合に使われることが多いですし、後者はプラグインやテーマ・WordPress本体の機能を無効にしたり、部分的に変更したりする場合に使用されます。
functions.phpも拡張子の通りphpファイルですから注釈を設けたりはできるのですが、追記したときは良くても数が増えてくると「これ何のためのコードだっけ?」「このコード使ってる?」ということに直面する、いわゆるファイルが汚れてくるということもあると思います。
「Code Snippets」は、本来直接functions.phpに記述すべきコードを投稿のように個別に管理して、有効/無効の切り替えができるようにするプラグインです。
【Code Snippets】プラグインの基本的な機能・できること
↑はこのプラグインでコードを追加したときの管理画面(例)。本当に通常の投稿のように管理ができますね。
- functions.phpへ直接記述することなくスニペットを管理する
- 作成したスニペットは「稼働」「停止」させることができる
- コードを保存する際にチェックが行われ、エラーのあるものは稼働しないようになっている
- コードを「タイトル」や「タグ」で分類することができる
- 設定したスニペットをエクスポート/インポートできる
前述したように「何のためのコードだっけ?」を判別しやすくなるのが一番のメリットではありますが、
- テーマを変更したときにコードを追加(コピー)する必要がない
- 親テーマの更新をしてもfunctions.phpが上書きされることがなく、追記した設定が台無しになるといったトラブルも回避できる
といった効果もある便利なプラグインです。
本記事を参考にWordPressサイトへプラグインの導入を検討される方へ
WordPressは古くから無料で配布されているサイト作成ツール(CMS)で、随時改良が加えられており、さまざまなバージョンが存在します。
さらにWordPressを動かすためのプログラムであるPHP、サイトのデータを保存しておくためのデータベースについても様々なバージョンがあります。
そしてWordPress本体同様にプラグインについてもさまざまなバージョンが存在します。
本記事を参考にプラグインの導入をお考えの方は、以下に留意の上でインストールするようにしてください。
- テスト環境での動作に基づいた紹介記事ですので、すべての環境で正常に動作するかどうかは不明です
※本記事の内容についてはページ内に記載しているプラグインバージョンのものになります。現在のバージョンと異なる場合、機能や日本語対応の状況などが異なる場合があります。
※また、テスト環境、テストしたプラグインバージョン等の表示が本文内にない場合、ページタイトル下にある最終更新日当時の情報となりますので、現在のバージョンでは全く違う機能となっているかも知れません。 - プラグインに無料版と有料版(Pro版)がある場合、特に記載がなければ無料版の情報のみを紹介しています
- このページでプラグインを使用する際に必要なショートコードやコードなどは、コピーして使用することができますが、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。
- プラグイン本体の動作不具合や質問などは公式サイトのフォーラムなどで行ってください(ここでは質問にお答えすることはできません)
【Code Snippets】プラグインの設定画面や表示の日本語化と翻訳
当サイトで私が翻訳した【Code Snippets】プラグインの日本語化ファイルを提供しています。
翻訳ファイルは
からダウンロードできます(ダウンロードの方法や日本語の適用方法なども解説しています)
翻訳することで設定が容易になり、重要な項目の設定漏れも少なくなりますから日本語化をお勧めします。
【Code Snippets】プラグインのインストールと設定
インストール方法
インストールはプラグインの新規追加でプラグイン名を入力して検索してインストールするか、WordPressのプラグイン公式配布ページからダウンロード後、管理画面からアップロードインストールしてください(プラグインの公式ページは本ページ内記載のリンクをクリック、もしくは、WordPress公式サイトで検索してください)。
WordPressを使い始めて間もない方(初心者の方)は、より詳細なプラグインのインストール手順や、インストール時に起こる問題などへの対処方法をまとめた【WordPress】プラグインのインストール&追加方法とエラー対処の方法も併せてご覧ください。
【Code Snippets】プラグインの基本的な使い方
インストール後は管理画面のサイドバーに「スぺニット」というハサミマークのメニューが追加されます。日本語化されていれば問題なく使用できると思います。
コードの追加や編集も通常の投稿画面のように「タイトル」と「本文(コード)」なっていますから分かりやすいと思います。
追加や編集が終わったら、「保存のみする」「保存して有効化する」「保存して無効にする」などのボタンから保存後の動作を決定します。
既存のfunctions.phpからの移行
このプラグインを使おうと思ったときにはもうすでにいくつかのコードをfunctions.phpへ追加されていると思います。そんなときにはfunctions.phpと【Code Snippets】の管理画面を両方開き、functions.phpの記述を切り取って【Code Snippets】で新規作成したスニペットへ追加して有効化していくといいと思います。重複すると不具合が発生する場合がありますから必ずコードは切り取るようにしましょう。
また、新たにコードを追加する際には、一旦テーマのfunctions.phpへ追記して動作を確認した後に【Code Snippets】へ移行するという手順にすれば、不具合が発生してもテーマのfunctions.phpをFTPなどでダウンロードして該当部分を削除し、再度アップロードすれば元に戻りますから、後述するようなトラブル回避の手間が大幅に省けると思います。
プラグイン使用時に注意したいこと
※一応エラーコードなどはチェックして稼働しないようにはなっているようですが、稼働させた際に不具合が発生して管理画面等が表示されなくなると対処に苦労するかも知れませんので、使用に際しては注意が必要かもしれません。
※他のサイトなどでも転用できるように、設定項目にある記号の閉じ子(括弧の閉じる記号や引用符の閉じる記号)を打ち忘れたときに自動で閉じ子を挿入する機能はオフにしておいた方が正しいコードの管理ができると思います。
※テーマの変更時やアップデート時に、テーマにあらかじめ同様の動作があったりすると競合して不具合が発生したりすることもあると思いますので、こうしたタイミングでは一旦すべてのスニペットを停止(プラグインの停止ではなく)してから作業を行うことをお勧めします。(プラグインの停止をしてしまうとテーマ変更してプラグインを再開したときに競合が発生する可能性がないとは言えません。)
※このプラグインにはスニペット毎にエクスポートしたり、パソコンに保存されているスニペットをインポートする機能があります。スニペットを追加した時にはバックアップ代わりにエクスポートしておくことをおすすめします。
【Code Snippets】プラグインの便利な使い方・カスタマイズ方法など
より便利に使うカスタマイズ技やテストサイトで使用した結果や感想、WordPressのプラグイン公式配布ページには書かれていない事柄などを紹介します。
【Code Snippets】でエラーが出てしまったときは
一応プラグインの公式ページではコードのチェック機能があるようですが、WordPress本体のコードチェック(ロールバック)機能と同じで完全ではありませんから、時にはエラーが出て画面が真っ白になってしまう・・・なんてこともあり得ます。そんなときは慌てず
を参考に復旧を行ってください。
また、いつでも復旧できるように、
- うまく機能した時点までのものをファイルとして保存する
- スニペットを個別に保存しておく
などバックアップを適時取るようにしておくことも大切だと思います
プラグインのテスト環境&個人的評価
最後に【Code Snippets】を動作確認した際の環境と個人的な評価を書いておきます。導入の検討や参考になれば幸いです。
テストした環境
- テストサーバー:カラフルボックス
- WordPressのバージョン:5.1.1
- PHPのバージョン:7.2
- テーマ:Simplicity2 バージョン2.6.0.9準拠のオリジナルテーマ
- プラグインのバージョン:本記事で紹介しているバージョン 2.13.3/最新バージョン 3.6.5.1
- 公式サイト(wordpress.org上):https://wordpress.org/plugins/code-snippets/
- 公式サイト(作者サイト):
個人的な評価・感想ほか
- 設定のしやすさ:★★★★★
- 使いやすさ:★★★★★
- おすすめ度:★★★★★
前述したこのプラグインを使った場合に起こるトラブルの復旧方法を知っていれば、管理もしやすいし、パッとみてどの機能に関する記述なのかの判別もできるので大変便利だと思います。