add_action():決まったタイミングで処理を動かす(WordPress)

WordPress が動く途中の決まったタイミング(フック)に、自分の処理を足します。functions.php やプラグインで、いちばんよく使う関数です。

書き方

add_action( string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1 ): true
  • $hook_name:フックの名前(wp_enqueue_scripts・init・save_post など)
  • $callback:動かす関数
  • $priority(省略できる):順番。小さいほど先に動きます。
  • $accepted_args(省略できる):関数が受け取る引数の数。

使い方の例

// CSS を読み込む
add_action( 'wp_enqueue_scripts', function () {
	wp_enqueue_style( 'my-style', get_stylesheet_uri(), array(), '1.0' );
} );

// 投稿を保存したときに動かす(引数を 3 つ受け取る)
add_action( 'save_post', 'my_save_post', 10, 3 );
function my_save_post( $post_id, $post, $update ) {
	if ( wp_is_post_revision( $post_id ) ) {
		return;
	}
	// ...
}

よくある間違い

  • 引数が届かない:2 つ目からの引数を使うときは、$accepted_args にその数を書きます。省略すると 1 つしか届きません。
  • remove_action() で外れない:足したときと同じ関数・同じ $priority で外します。無名関数で足したものは外せません。外す予定があるなら名前のある関数にします。
  • フックが動いたあとに add_action() しても動きません(例:init の中で after_setup_theme に足す)。
  • 値を変えて返したいときは add_filter() です。add_action() は戻り値を使いません。

関連する関数

  • add_filter():値を変えて返す
  • remove_action():足した処理を外す
  • do_action():自分でフックを作る

逆引きリファレンスの一覧へ

サイドバー

よく使うカスタマイズ

最近の記事

  1. Fstyle Final Output Replacer のルールの一覧(generator タグを消す 2 つのルール)

Profile

PAGE TOP