アクションフックやフィルターフックを利用してWordPress本体やプラグインを制御

WordPressのfunctions.phpでアクションフックやフィルターフックを利用する


今回は、WordPressのfunctions.phpでアクションフック(add action)やフィルターフック(add filter)を利用する場合のフックの利用方法について基本的な点についてお伝えいたします。

functions.phpの中に記述されているWordPress関数として、add_actionやadd_filterというものがあります。これはWordPressのプラグインAPI という仕組みを利用したもので、こうしたアクションフックやフィルターフックを利用すると、WordPressの機能をたくさん追加したり制御したりすることができます。

以前「WordPressテーマのfunctions.phpを編集してカスタマイズする」でお伝えしましたとおり、WordPressをカスタマイズする場合、WordPressテーマのfunctions.phpを編集してカスタマイズを実装することがよくあります。

functions.phpの中でこうした様々な関数を用いてWordPressに特殊な機能を実装することができるのですが、これらはフックと呼ばれることがあります。add_actionを用いるものは、アクションフック、add_filterを用いるものはフィルターフックと呼ばれます。

WordPressにおけるフックとは?

WordPressにおけるフックとは?

WordPressにおけるフックとは、いわば、ある条件に合致したときに何かを実行するという至ってシンプルなものです。

このフックには、加えるのか、制限するのかといった種類によって、アクションフックとフィルターフックなどの分類があります。

どうしてこうした「フック」を利用するのかというと、このフックはWordPressを構成するWordPress本体、WordPressテーマ、WordPressプラグインの全てに適用できるため、それぞれがバージョンアップした場合にでも、カスタマイズした内容が上書き無効にならないという利点があるからです。

WordPressテーマ更新に注意

WordPressテーマ更新に注意 functions

なお、フックはWordPressテーマの「functions.php」に記述しますので、万が一WordPressテーマ更新においてfunctions.phpが新しいものになっていた場合で、WordPressテーマを更新してしまった場合は全てのカスタマイズが無効になります(一般的にはfunctions.phpが上書きされることはめったにありませんが、テーマの大幅なメジャーアップデートがあった場合は要注意です)。

こうしたことを避けるためには、WordPressテーマのカスタマイズにおいて、子テーマを利用して、子テーマ内のfunctions.phpにフックを記述すると解決することができます。

子テーマを利用してWordPressサイトをカスタマイズするメリット

こうしてWordPressテーマ内のfunctions.phpにadd_actionやadd_filterを利用してカスタマイズ項目を残しておくと、テーマファイルを上書きしない限り、WordPress本体やテーマ、各種WordPressプラグインが吐き出すソースに機能の追加や制限を加える事ができます。

アクションフック

アクションフック

WordPressをカスタマイズする際、アクションフックを利用する場合には基本的に「add_action」などを用います。

このアクションフックは、特定条件の出来事が起こった場合に加える動作を指定するといったイメージです。

add_action

add action アクションフック WordPress

functions.phpにadd_actionによってアクションフックを記述しておくと、特定の条件に合致した場合に加えられるソースコードが、WordPress本体やプラグインの更新にかかわらず吐き出されるようになります。

フィルターフック

フィルターフック

WordPressをカスタマイズする際、フィルターフックを利用する場合には基本的に「add_filter」 などを用います。

このフィルターフックは、特定条件の出来事が起こった場合に特定の動作を除外したり「ファイルを呼び出さない」といった指定するイメージです。

add_filter

add filter フィルターフック WordPress

functions.phpにadd_filterによってフィルターフックを記述しておくと、特定の条件に合致した場合に制限(除外)されるソースコードを指定することができます。こちらもWordPress本体やプラグインの更新にかかわらず除外されるようにになります。

フィルターフックを使うシーン

フィルターフックを使うシーン

add_filterによってフィルターフックを使うシーンの代表例は、WordPressプラグインファイルが吐き出すCSSなどをフィルタリングするときです。

プラグインファイルの中にもCSSがあり、WordPressサイトの中に吐き出されるようになりますが、場合によっては、既存のWordPressテーマファイル内のCSSと競合し、WordPressサイト全体のレイアウトやWebデザインに影響をあたえることがあります。

シンプルなデザインの場合は、ありがたいこともあるかもしれないWordPressプラグインによるCSSの吐き出しですが、ありがた迷惑なことも多いため、こうしたプラグインが吐き出すCSSファイルを制御するためにフィルターフックがよく利用されます。

アクションフックやフィルターフックを利用してWordPress本体やプラグインを制御

アクションフックやフィルターフックを利用してWordPress本体やプラグインを制御

これらアクションフックやフィルターフックを利用してWordPress本体やプラグインを制御することで、WordPressの機能を大幅にカスタマイズすることができます。

WordPress本体やWordPressプラグインファイルを直接編集してもよいのですが、バージョンアップによるカスタマイズの無効化リスクを避けるためにも、なるべくこうしたfunctions.phpでのアクションフックやフィルターフックを利用したほうが安全です。

ただし、functions.phpを操作しますので、内部サーバーエラーには注意してください。

WordPressカスタマイズ・修正

ファンフェアファンファーレのWordPress(ワードプレス)のカスタマイズ、テーマカスタマイズサービス

ホームページ制作 京都のWeb制作会社ファンフェアファンファーレでは、WordPressで制作されたウェブサイト・ホームページのカスタマイズサービスとして、WordPress(ワードプレス)のテーマ(テンプレート)やプラグインのカスタマイズサービスを提供しております。

WordPressカスタマイズの他、WordPressに関する様々な機能の実装や調整、編集はもちろん、各種エラーの修正・復旧に対応しております。

WordPress(ワードプレス)のカスタマイズ

WordPressでのホームページ制作(WordPressサイト制作)

WordPress(ワードプレス)を使ったウェブサイト制作・ホームページ制作ならファンフェアファンファーレにお任せください!

ホームページ制作 京都 ファンフェアファンファーレでは、ホームページ制作にあたり、WordPressでのホームページ制作(WordPressサイト制作)を推進させていただいております。

企業のWebマーケティングを加速するWordPressでのホームページ制作(WordPressサイト制作)ならお任せください!

WordPress(ワードプレス)でのホームページ制作・ウェブサイト制作


「WordPressのfunctions.phpでアクションフックやフィルターフックを利用する」のカテゴリ Web制作・Web関連
タグ: , , ,


ホームページ制作、サイトカスタマイズなどのお問い合わせ・ご依頼はこちら