我想在文件附加到某个CPT时发送电子邮件,但是我无法使add_attachment
挂钩工作。事实上,我似乎无法使任何仪表板挂钩(例如post_updated
)工作。每当文件附加到帖子或帖子得到更新时,下面的代码都不会做任何事情:
add_action( 'add_attachment', 'goldorak' );
add_action( 'post_updated', 'goldorak' );
function goldorak() {
echo 'Fired!';
echo "<script>alert('Fired!');</script>";
}
注意:我的附件是使用file
插件创建的Advanced Custom Fields
字段。
答案 0 :(得分:0)
我不确定ACF会触发与正常wordpress相同的操作。以下是您的代码的ACF版本:
add_action( 'acf/save_post', 'goldorak', 15 ); // The saving is done with priority 10, so 15 is after the save to DB, 5 before it.
function goldorak() {
die('test');
}
但在你的情况下,钩子acf/update_value/type=file
会简化你的任务:
add_action('acf/update_value', 'acf_hook_update_value', 1, 3);
function acf_hook_update_value($new_value, $post_id, $field_options) {
$key = $field_options['key']; // internal key name
$name = $field_options['name']; // pretty name
$old_value = get_field($key, $this->post_id, false);
$new_value = stripslashes($new_value);
if ($new_value != $old_value) {
die('test'); // Do something ...
}
}