HOME  /WordPress関数
 /アクションフック、フィルターフックの違い
2020年03月07日

アクションフック、フィルターフックの違い

フィルターフックとアクションフックの違い

WordPressは色々な機能を実装する過程で、ユーザにその機能をカスタマイズさせる下記の様な切り口(フック)を用意しています。

①フィルターフック

ユーザプログラムにその機能を実装するパラメータを渡し、ユーザ側は渡されたパラメータを修正する事によりその機能をカスタマイズします。

例えばビジュアルエディタがセットアップされる時や、投稿が保存される時等々に各種のフィルターが用意されています。

フィルターフック一覧

またEC等のプラグインを導入するとこれらをカスタマイズする為のフィルターフックが用意されています。

 

②アクションフック

WordPressが読み込まれたり、実行される色々なタイミングで処理をユーザプログラムに渡してくれます。

これを利用してユーザ固有の機能をWordPressに設定する事ができます。

フィルターフックと違い、アクションフックには渡されるパラメータはありません。

どの様なタイミングがあるか?は下記の一覧を参照してください。

アクションフック一覧

 

フィルターフックの基本形

基本系は下記になります。

function 関数名($parm) {
	$parm['変数名'] = '変更する内容';
	その他の変更
	return $parm;}
add_filter( 'フィルターフック名', '関数名',$priority,$num );

<引数>

フィルターフック名:フィルターフックの名前

関数名:上記のフィルターフックが適用される時に実行される関数名

$priority:(数値)実行順序。基本は登録順だが数値を指定する事により順番を変えられる。デフォルト値は10

$num:(数値)実行される関数の引数の数。デフォルト値は1。

<処理の流れ>

①関数でパラメータリストを取得します。

②パラメータリストを修正します。

③returnでパラメータリストを返します。

④add_filterで書き込みます。

※パラメータリストの中にどの様な変数名があるか?はフィルターフック名で調べてください。

 

 

アクションフックの基本形

基本系は下記になります。

function 関数名() {
  WordPress関数を使って色々な変更を加えます
}
add_action( 'アクションフック名', '関数名' );

①この関数を実行させたい場所をアクションフック名で指定します。

②やりたい内容をWordPress関数で記述します。

※幾つかの事例でアクションフックの引数にパラメータを指定する物がありますが、これらはあくまでも参照変数でユーザプログラムにパラメータを渡すものではありません。