在以下内容中,“10”是优先考虑的my_func
调用,而“2”是my_func
接受。The latter is important, 自add_filter
函数将默认值定义为1,但wp_insert_post_data
过滤器挂钩发送两个参数。如果不将其设置为2,则不会得到第二个参数。
add_filter("wp_insert_post_data", "my_func", 10, 2);
现在让您的功能。。。
function my_func($data, $postarr){
//at this point, if it\'s not a new post, $postarr["ID"] should be set
//do your stuff...
return $data;
}
编辑---基于上面添加的代码
如果你不需要修改帖子的$data
在帖子保存之前,你用错了钩子。
使用save_post
而不是动作挂钩。保存帖子并保存所有分类法后,将调用此函数。因此,您不必担心是否添加了新标记。它向函数发送两个参数:post的ID和作为对象的post本身。
add_action("save_post", "my_save_post");
function my_save_post($post_id, $post){
if ("publish" != $post->post_status) return;
$tags = get_the_tags($post_id); //an array of tag objects
//call your email func etc...
}