Wordpress:如何在媒体编辑器中挂钩裁剪

时间:2016-12-28 19:25:44

标签: javascript php wordpress

我正在尝试将裁剪操作挂钩到图像编辑器上,因为我需要在图像编辑器中获取裁剪参数以便在之后使用它们。 但由于裁剪是由image-edit.js执行的,我无法弄清楚如何执行此操作。 那是否有特定的钩子?

修改

我发现裁剪数据被发送到$ _REQUEST数组中的wp-admin / includes / image-edit.php,裁剪的值包含在$ _REQUEST ['history']中 我正在尝试获取此值,但每次运行它时,我的函数都会中断保存过程,并且我在自定义字段中没有任何值。

我正在尝试这个:

add_action( 'wp_save_image_editor_file', 'custom_wp_save_image_editor_file');
function custom_wp_save_image_editor_file($saved, $filename, $image, $mime_type, $post_id ){
    update_field('crop_data', $_REQUEST['history'], $post_id); 
    return $saved;
}

但它不起作用

编辑2 我正在使用高级自定义字段,因此该字段的更新是不同的。 现在,该操作仅适用于$ post_id的固定值(下一步获取附件的帖子ID)

1 个答案:

答案 0 :(得分:0)

这是我将裁剪数据保存在名为crop_data的ACF中的最终解决方案。 我希望它对某些人有用......

add_action( 'wp_save_image_editor_file', 'save_crop_data');
function save_crop_data(){
    $attachment_id = $_REQUEST['postid'];
    $parent = get_post_ancestors($attachment_id);
    $post_id = $parent[0];
    update_field('crop_data', $_REQUEST['history'], $post_id);
    return $saved;
}