WordPress 投稿が更新された際のフック

ちょっと調べることがあり、WordPress のコードをトレースしていたら、save_post_{$post_type} フックというものがあることを知りました。

投稿や固定ページが作成または更新された際(データがデータベースに保存された後)のフックとしては、WordPress Codex には save_post と wp_insert_post フックが載っていますが、この save_post_{$post_type} フックは載っていません。

WordPress 3.7 より追加されていたようだが、全く知らなかった。

今まで、

function my_save_post( $post_id, $post ) {
	if( $post->post_type === 'page' ) {
		// TODO: ここに処理を追加します。
	}
}
add_action( 'save_post', 'my_save_post' );

のような記述をしていましたが、

function my_save_post_page( $post_ID, $post ) {
	// TODO: ここに処理を追加します。
}
add_action( 'save_post_page', 'my_save_post_page' );

と、コードもスッキリするし無駄なアクションもなくなります。

たまにはコードを眺めるのも良いものです。新しい発見があり面白いです。

コメントを残す

メールアドレスが公開されることはありません。

日本語でコメントを入力してください。