• 内容已经整改,望备案人员知晓->22-08-11
  • 早报->22-05-16

WordPress删除文章时同时删除图片附件

ė 1,080 6 2
🗣此文最近更新于 2017-02-23 星期四,请留意哦!👇

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将导致删除文章后因媒体附件与文章关联已取消而无法正确删除。

来源:http://boke112.com/3780.html

所属分类:
    消息
  • 今天买猪油,目测2斤不到。然后一上电子秤3斤多,我看是上年纪的老妇人以为没心眼也就没再意。拿回家一看有一斤多烂渣油参在一起,我明明买的是一整块。大家以后秤完,觉得不对拿出来看看。 --- 2022/08/17
评论区 (2 条评论/1,080阅) 网友评论仅供其表达个人看法,并不表明一介小民立场。

  1. 姜辰 来自天朝的朋友 火狐浏览器 Windows 10
    2017年2月10日 16:35 回复

    – – 给力~~~~~然而我是EM。。。只能借鉴了。

    1. 如风 管理员 来自天朝的朋友 谷歌浏览器  SM-G9008W Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36
      2017年2月10日 16:41 回复

      你会写,我不会,只能照搬