我正在尝试使用高级自定义字段的update_value过滤器钩子来编写一个函数,当用户从字段中删除图像时,它也将从WP的媒体库中删除。到目前为止,我还没有设法让它工作,我得到了很多错误。我需要检查字段的值是否为空,然后获取先前的值(图像)找到ID并删除附件?有什么想法吗?
//Delete image from acf field
function my_acf_update_value( $value, $post_id, $field )
{
if (empty($value)){
$var = get_field($field, $post_id);
$varid = $var['id'];
wp_delete_attachment( $var, true );
}
// do something else to the $post object via the $post_id
return $value;
}
add_filter('acf/update_value/type=image', 'my_acf_update_value', 10, 3);
这是我得到的错误:
警告:isset中的非法偏移类型或在第484行的/xxx/xxx/xxx/xxx/xxxxxx/xxxxxxx/xxx.xxxxxxxx.com/html/wp-includes/meta.php中为空
警告:isset中的非法偏移类型或在第484行的/xxx/xxx/xxx/xxx/xxxxxx/xxxxxxx/xxx.xxxxxxxx.com/html/wp-includes/meta.php中为空
警告:无法修改标头信息 - 已经发送的标头(输出从/xxx/xxx/xxx/xxx/xxxxxx/xxxxxxx/xxx.xxxxxxxx.com/html/wp-includes/meta.php:484开始)第233行/xxx/xxx/xxx/xxx/xxxxxx/xxxxxxx/xxx.xxxxxxxx.com/html/wp-admin/post.php
警告:无法修改标头信息 - 已经发送的标头(输出从/xxx/xxx/xxx/xxx/xxxxxx/xxxxxxx/xxx.xxxxxxxx.com/html/wp-includes/meta.php:484开始)第1179行/xxx/xxx/xxx/xxx/xxxxxx/xxxxxxx/xxx.xxxxxxxx.com/html/wp-includes/pluggable.php