代码
将下面代码添加到当前wordpress主题的Functions.php文件中:
/* 删除文章时删除图片附件 */
function delete_post_and_attachments($post_ID) {
global $wpdb;
//删除特色图片
$thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" );
foreach ( $thumbnails as $thumbnail ) {
wp_delete_attachment( $thumbnail->meta_value, true );
}
//删除图片附件
$attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" );
foreach ( $attachments as $attachment ) {
wp_delete_attachment( $attachment->ID, true );
}
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" );
}
add_action('before_delete_post', 'delete_post_and_attachments');
注意事项:
1、如果一张图片被很多文章所引用,请谨慎使用该代码;我们知道有的网站会多篇文章同时调用一张图片,那么这种情况下使用此“WordPress删除文章同时删除文章图片”的代码,就可能造成其他文章图片打不开,影响文章的效果。
© 版权声明
THE END
暂无评论内容