『これは欲しい』毎日使える!人気アプリ10選テーマをカスタマイズしたいけど、実装が大掛かりになりそうな時やプラグインを入れてみたけど、何か物足りないので拡張するプラグインを作成しようとした時に、一からコードを書くのは大変ですよね。そんな時は使用中のプラグインに定義されている便利な関数やクラスを継承して使えると便利ですよ。WordPressはGPLライセンスなので利用は自由にできます。そこでプラグインに定義されている関数やクラスを使う際、安全に使うために必ずやっておきたいことを紹介します。最後にテーマとプラグインとWordPressの関係WordPressのテーマやプラグインを作成する時はWordPressに用意されているテンプレートタグや関数を使います。このおかげで比較的簡単にテーマやプラグインを作成することができます。その関数などが使えなかったら一からコードを書いて作るのは時間もコストも技術力もかかってしまい大変です。WordPressにあらかじめ関数が定義されていることでWordPressをまだ覚えたての方でも比較的簡単にテーマを作成することができます。記事ページにブログの投稿記事を表示するには下記のようなコードをsingle.phpに書けば記事のタイトルとコンテンツが表示されます。この時データベースなどを意識しなくてもいいので簡単ですね。~~<article>~</article>の外側のif・whileの部分はWordPressのループの記述で上記のコードの内、以下の2つはWordPressのテンプレートタグです。?>テンプレートタグは、テーマ上でいくつかループの中で使うなどの制限がありますが、そのまま書いて使うことができます。そのまま書いて使えるのはテーマやプラグインがWordPress上で動作することが前提であるため、WordPressにあらかじめ関数が定義されているからです。WordPress関数についてWordPress本体の関数でもadminページ(管理者ページ)や訪問者に表示されるページによって読み込まれるPHPファイルが違います。状況によっては使えないWordPress関数もあります。ユーザーには直接見えない内部処理を実行している部分(バックエンド)とユーザーに見せるための部分(フロントエンド)でも読み込まれるものに違いがでてきます。その他、WordPress本体のアップデートによって非推奨になる関数もあります。テンプレートタグとは?WordPressのテーマのテンプレートファイル上で使えるタグのことです。WordPressに定義されている関数(WordPress関数)の中にテーマ作成に使う関数があらかじめ用意されています。?>で囲ったものを指します。データベースから値を取得して、サイトに表示させるまでのことをやってくれるコードです。出力時のデータの無害化(サニタイズ)などデータの検証までやってくれるのでテンプレートタグを使うと簡単に安全にテーマが作成できます。カスタマイズに欠かせないフィルターフックやアクションフックも使えるように記述されています。テンプレートタグについては、下記リンク先を参考にしてみてください。日本語版プラグインから関数を流用する時との違いWordPressに定義されている関数を使うようにプラグインに定義されている関数をそのままテーマや他のプラグインのカスタマイズなどで使うとエラーや本番環境では真っ白の画面に直面する危険があります。これはプラグインが必要不可欠なものでないからです。プラグインはいつでも追加・停止・削除が行え別のものと入れ替えたりできるためです。下記のようなコードがプラグインに書かれていてそのコードをテーマで流用したいとします。