update_post_meta
후크는보다 일반적인에서 호출 update_metadata()
당신이 직접 발견되지 않을 수도 있습니다, 기능. 세 가지 고리는 다음과 같습니다.
메타 키가 데이터베이스에 아직 존재하지 않은 경우, update_metadata()
제어에 전달 add_metadata()
유사한 후크를 가지고있는, add_post_metadata
, add_post_meta
,와 added_post_meta
. 이것은 update[d]_post_meta
호출 되기 전에 발생합니다 . 메타 키를 추가 할 때 당신이 뭔가를하고 싶은 그래서 경우 또는 업데이트 확인 모두에 후크 수 update*
와 add*
만 고지 사항 것을 - 후크 updated_*
와 added_*
행동이 유사한 매개 변수를 전달, update_*
그리고 add_*
하지 않습니다 ( add_post_meta
먼저 메타 ID를 전달하지 않습니다) .
delete_metadata()
비슷한 후크를 가지고 delete_post_metadata
, delete_post_meta
하고 deleted_post_meta
.
샘플 코드 :
add_action( 'added_post_meta', 'wpse16835_after_post_meta', 10, 4 );
add_action( 'updated_post_meta', 'wpse16835_after_post_meta', 10, 4 );
function wpse16835_after_post_meta( $meta_id, $post_id, $meta_key, $meta_value )
{
if ( 'wpse16835_meta_key' == $meta_key ) {
wpse16835_do_something( $post_id, $meta_value );
}
}
add_action( 'deleted_post_meta', 'wpse16835_deleted_post_meta', 10, 4 );
function wpse16835_deleted_post_meta( $deleted_meta_ids, $post_id, $meta_key, $only_delete_these_meta_values )
{
if ( 'wpse16835_meta_key' == $meta_key ) {
wpse16835_undo_something( $post_id );
}
}
update_post_meta
사용update_metadata
하고 거기에 후크가 있었다added_post_meta
그리고updated_post_meta
지금까지 내가 얻을 수있는만큼하지만 그게 전부는. 사용 방법을 이해하지 못했습니다. 그러나 지금 나는 그것을 얻었다 고 생각한다 :)