• 本站搬迁至Linode机房,购买Linode 1G机型仅需$10/月,点此访问官网
  • 百度口碑求好评,http://koubei.baidu.com/s/www.zhiyanblog.com
  •    1年前 (2015-02-11)  WordPress |   39 条评论  1235 
    文章评分 7 次,平均分 2.4
    [收起] 文章目录

    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://www.zhiyanblog.com/wordpress-delete-post-and-thumbnail-attachments.html

    关于
    知言博客是由WordPress业余爱好者zhiyan建立的WordPress以及WEB资源站,集WordPress教程、主题、插件以及众多前端素材、代码等其他内容于一体,努力为相关用户提供帮助。

    发表评论

    表情 格式

    1. 感谢分享!

      kuiliu 2个月前 (01-17) [0] [0]
    2. 知言大哥!你真的太细心了!给你点个赞!

      qazwsx 2个月前 (01-14) [0] [0]
    3. 感谢分享

      bcdon 2个月前 (01-13) [0] [0]
    4. 主题堪称完美,33个赞

      qazwsx 2个月前 (01-12) [0] [0]
    5. 收了

      qazwsx 2个月前 (01-06) [0] [0]
    6. 学习了 :smile:

      qazwsx 2个月前 (01-05) [0] [0]
    7. 主题堪称完美,32个赞

      qazwsx 2个月前 (01-04) [0] [0]
    8. 主题堪称完美,32个赞

      yutaok 3个月前 (12-03) [0] [0]
    9. 很好,学习了 这样节省资源

      taoqigui 5个月前 (10-21) [0] [0]
    10. 学习

      z_devil 5个月前 (10-12) [0] [0]
    11. 哈哈,好好学习

      djyesu 6个月前 (09-09) [0] [0]
    12. 很好,这样节省资源

      tianming 7个月前 (08-12) [0] [0]
    13. 1.18版本的主题带这个功能了么

      ╰'半 梦 半 醒 间、 7个月前 (08-01) [0] [0]
    14. 自动删除最好了

      Tiger 9个月前 (06-23) [0] [0]
    15. 很好,这样节省资源

      独醉寒风 10个月前 (05-28) [0] [0]
    16. 钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱钱

      Porry 10个月前 (05-16) [1] [0]
    17. 1 2
    1. 2015-08-07上午 12:58
      WordPress删除文章时自动删除对应图片 | U & Me[ 来自 加拿大  ]

      […] 转自 知言 […]

    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册