フックと使い方について

フックとは、WordPressの決められたタイミングや場所に、後から処理を差し込む仕組みです。

WordPressでは、既存のテーマやプラグインをベースに機能を追加していくことが多くあります。

その際、元のファイルを直接編集するのではなく、フックを使って必要な処理だけ追加することで、安全に拡張できるようになっています。

フックを呼び出す(差し込み口を作る)

まず、処理を追加できる場所をPHPファイル側に作成します。

例として、任意の場所に my_hook1 というフックを設置します。

do_action() は、

「ここに後から処理を追加できます」

という目印を作る関数です。

フックに処理を登録する

実際に表示する内容は、functions.php に記述します。

// フック登録
function add_text()
{
echo ‘

独自で作ったhook1′;
}

add_action(‘my_hook1’, ‘add_text’);

このコードでは、

add_text() → 実行する処理
add_action() → フックへ処理を登録

を行っています。

なぜフックを使うのか

WordPressでは、他の人が作ったテーマやプラグインを利用してサイトを構築することが多くあります。

もし親テーマを直接編集してしまうと、

テーマ更新

編集内容が上書きされる

追加したコードが消える

という問題が発生します。

そこで、

親テーマ → 元の機能を管理
子テーマ → 独自機能を追加

という役割分担を行います。

子テーマの functions.php にフックを使って処理を追加しておけば、アップデート時の影響を受けにくくなります。

フックはWordPressの色々な場所で使われている

今回は画面表示を例にしていますが、実際にはWordPressの多くの機能がフックで作られています。

例えば、

テーマの共通処理
プラグインの拡張
管理画面の追加機能
表示内容の変更

などです。

ゆうやさんが触っている環境でいうと、

Cocoon
WooCommerce

なども、内部ではフックを活用して機能を組み立てています。

すべてを覚える必要はありませんが、

「WordPressはフックで後から機能を追加できる仕組みになっている」

という考え方だけ理解しておくと、テーマやプラグインの全体像がかなり見えやすくなると思います。