【WordPress】ショートコードの別ファイル管理でリスク低減

ショートコードとは

ショートコードは WordPress の投稿や固定ページに自分で定義した PHP の処理を呼び出せる便利な機能です。

例えば、Wordpress の PHP ファイルで「hello shortcode と表出する」コードを記述し、下記の様に記事編集ページで呼び出します。

すると、実際に公開された記事上では下記の様に表出されます。

hello shortcode


一般的に処理内容は function.php に記述しますが、function.php には他の重要な処理が書かれている為リスクを伴います。より安全で管理もシンプルになる方法がありますので紹介します。

  1. function.php に書き込むリスク
  2. ショートコード用の別ファイルを作成すればOK
    1. ショートコード用 PHP ファイルの作成
    2. function.php の編集
    3. ビフォーアフター
    4. メリットが多い
  3. 注意点

1. function.php に直接追記していくのはリスクが高い

function.php には既に WordPress にとって重要なコードが記述されており、誤った部分を削除、編集してしまったり、追記したコード自体にエラーがあるとサイトが真っ白に表示されてしまったりとリスクを伴います。さらにショートコードが増えてくるとファイルの中身自体が煩雑になりさらにリスクが高くなります。

2. ショートコード用の別ファイルを作成すればOK

もちろんバックアップを取りながら慎重にすすめていくこともできますが、少し煩わしい。そういった場合はショートコード管理専用の別ファイルを作ってしまうことをおすすめします。function.php には一行だけ追記で済み、shortcode自体は別ファイルで管理できます。

具体的な方法

function.php の一番下に include 文で別ファイルのパスを記述しておけば、あとは別ファイルの方で管理したものがそのまま function.php に読み込まれるようになります。簡単にいうと、shortcode.php の内容も function.php の一部として認識される感じです。

  1. ショートコード用 PHP ファイルの作成
  2. function.php の編集
  3. ビフォーアフター
  4. メリットが多い

1. ショートコード用 PHP ファイルの作成

まず、ショートコード用に新規の php ファイルを作成し、その中にショートコードの内容を記載します。この場では shortcode.php としましたが、ファイル名に特に決まりはありません。

2. function.php の編集

そして、function.php には下記の様に include 分で先ほど作ったショートコード用ファイルのパスを記述します。

この方法でコードを編集すると、下記のような状態になります。

3. ビフォーアフター

変更前

function.php の中にショートコード関連の定義が記載されています。

変更後

ショートコード関連のサイトのコードを別ファイルにまとめる事で、根幹を担う function.php への変更は最低限に留め、ショートコードの管理も専用ファイルでよりシンプルに行うことができます。

4. メリットが多い

こうしておくと、WordPress テーマを変えたりした時も新しい function.php に include 分の一行を書くだけで済むので管理が断然楽になります。

3. リスクが完全に無くなるわけではない

別ファイルに分けると function.php 上でエラーを起こすリスクは下げられますが、ショートコード用ファイルで間違ったコードを書いてしまうとやはりサイト自体に影響が出てしまいます。

よりリスクを減らすために

そんな時すぐさま問題を解決出来れば良いのですが、とりあえず function.php の include 文を一旦コメントアウトしてしまうのも一つの方法です。

そうするとショートコードは機能していない状態になりますが、すぐに問題の影響を断ち切ることができます。サイトを稼働させながらショートコード用ファイルの方でじっくり分析、修正を行った後で include 文のコメントアウトを外せば、影響を少なく抑えることができます。