管理员端挂钩不起作用(WordPress)

时间:2016-04-04 15:17:51

标签: wordpress hook advanced-custom-fields

我想在文件附加到某个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字段。

1 个答案:

答案 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 ...
    }       
}