我有一个WordPress网站,上面有一个名为“交易类型”的自定义字段。该字段可以是“卖出”或“卖出”。
“销售”汽车有一个名为“主图片”的自定义字段,其中附有一张图片,另一个名为“图库”,其中附有多张汽车照片。
当站点管理员将“正在出售”的汽车更改为“已出售”时,我需要删除所有与库相关的附件,以节省空间(但我必须保留添加在“主图片”字段中的附件)。
是否有任何钩子可以检测到自定义字段“交易类型”已更改为“出售”,并触发删除与“gallery”自定义字段关联的所有附件?
其他信息:我使用Advanced Custom Fields Pro版本创建自定义字段。
最合适的回答,由SO网友:Dan. 整理而成
您可以使用save_post
钩
add_action( \'save_post\', \'mytheme_my_post_just_updated\' );
function mytheme_my_post_just_updated($post_id){
$deal_type = get_field($post_id, \'deal_type\');
if($deal_type == \'sold\'){
$gallery = get_field($post_id, \'gallery\');// This bit and the next few lines will depend on how you\'ve set up the custom field.
// Fast forward a few lines...
foreach($images as $image){ // I\'m assuming that $images is an array of attachment_ids, but will depend on how you\'ve used ACF to create the custom field
wp_delete_attachment($image, true); // args are attachment_id and whether or not to bypass trash.
}
}
}
将上述代码放入主题的
functions.php
.
更多关于wp_delete_attachment()
- https://codex.wordpress.org/Function_Reference/wp_delete_attachment