星期一 , 2020-10-19
首页 > WordPress教程 > WordPress删除文章时自动删除特色图像及附件

WordPress删除文章时自动删除特色图像及附件

WordPress删除文章时默认是不会自动删除文章附属的特色图像及附件的。如果你的网站是个多作者或编辑发布文章,所有文章需要审核通过才能发布,而审核时就可能需要删除比较多的文章,但是如果删除文章每次都需手动删除特色图像及附件就会非常麻烦。即使是自己一个人的网站删除文章再手动删除附件也是怪麻烦的事。所以,我们有必要在删除文章的同时让程序自动删除特色图像及附件。以下是具体方法:

/*
删除文章时自动删除特色图像及附件
代码来源: www.wpzhinan.com
*/ 
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');

代码说明:请将以上代码插入主题function.php文件保存即可。程序将在删除文章之前先删除特色图像及附件,然后再删除文章。

本文地址:http://www.wpzhinan.com/jiaocheng/999.html
版权申明:除部分代码外,本站内容均为原创,转载请注明来源,违者必究侵权责任!

相关推荐

WP_Image_Editor_Imagick 指令注入漏洞修复方法

Imagick组件爆出了超级漏洞,危害等级极高,直接导致大量使用Imagick组件的网站均 ...