WordPress删除文章时,文章上传到媒体库的图片等文件,不会被自动删除,占用网站空间。可用几段代码,实现自动删除文章时的缩略图和图片附件,准确高效。
功能实现代码如下:
- //删除文章时删除图片附件开始
- 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’);
- //删除文章时删除图片附件
使用方法
您可以通过将上面的代码放在主题functions.php文件的底部,就可以成功添加了。
添加代码注意事项:
删除文章时,先执行函数内容、删除功能图片和图片附件,但如果使用action delete_post而不是before_delete_post,将导致删除文章后因媒体附件与文章关联已取消而无法正确删除。
免责声明:
使用本站资源的用户均应仔细阅读本声明。用户使用本站资源的行为将被视为对本声明全部内容的认可。
1、本站资源大部分搜集于网络,整理并分享。用户可自行搜索在其他地方下载,也可选择在本站下载。如果侵犯了您的合法权益,请联系:diy945945@111.com 及时删除。本站资源仅用于研究、学习之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
2、本站对发布的资源不能保证其完整性、安全性和可用性。请您在下载后自行检查。您在使用过程中遇到的任何问题与本站无关。
3、注册本站以及在本站充值、开通会员等消费行为仅作为用户本人对本站的友情赞助,均为用户本人的自愿行为。相当于您是自愿赞助本站的服务器以及运营维护费用,而不是购买本站的任何服务与资源,请知悉!!!
4、本站资源资源采用网盘分享,如链接失效,请及时联系。
5、原文链接:https://www.xxziyuan.top/3407.html,转载请注明出处。
评论0