我想知道Wordpress插件是否有保存帖子及其所有postmetadata后捕获事件的操作?
我使用save_post
操作,但之后所有的postmetadata都没有保存。我该如何解决这个问题?
答案 0 :(得分:0)
您可以使用added_post_meta
和updated_post_meta
动作挂钩的组合,这些挂钩会在保存后置元数据后触发。假设您的元数据在帖子之后保存,当然:
add_action( 'added_post_meta', 'after_post_meta', 10, 4);
add_action( 'updated_post_meta', 'after_post_meta', 10, 4);
function after_post_meta( $meta_id, $post_id, $meta_key, $meta_value )
{
// do stuff
}
您应该同时拥有两个操作挂钩,以确保您涵盖保存元数据的两种方式:add_metadata
和update_metadata
。
如果您使用自定义帖子类型,则可以更改操作挂钩以反映该类型。例如,如果您的CPT为' book':
add_action( 'added_book_meta', 'after_post_meta', 10, 4);
add_action( 'updated_book_meta', 'after_post_meta', 10, 4);