!
也想出现在这里? 联系我们
广告位

WordPress删除文章同时删除缩略图及附件

WordPress 删除文章时,文章内所上传到媒体库的图片等附件不会自动删除,占用了网站空间,因此下面说明通过几行代码的简单方式实现在删除文章时自动删除缩略图以及图片附件,这样就不用手动去媒体库寻找并删除,准确而且效率高。

代码如下:

  1. /* 删除文章时删除图片附件
  2. /* ------------------------ */
  3. function delete_post_and_attachments($post_ID) {
  4. global $wpdb;
  5. //删除特色图片
  6. $thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" );
  7. foreach ( $thumbnails as $thumbnail ) {
  8. wp_delete_attachment( $thumbnail->meta_value, true );
  9. }
  10. //删除图片附件
  11. $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" );
  12. foreach ( $attachments as $attachment ) {
  13. wp_delete_attachment( $attachment->ID, true );
  14. }
  15. $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" );
  16. }
  17. add_action('before_delete_post', 'delete_post_and_attachments');

使用方法

将上述代码放到主题 functions.php 文件中即可使用,其在删除文章时先执行函数内容,删除特色图片以及图片附件,如果在使用 action delete_post 而不是 before_delete_post 将导致删除文章后因媒体附件与文章关联已取消而无法正确删除。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 自动给图片添加alt标签方法

2023-10-27 14:53:33

WordPress教程

WordPress搜索结果只有一个时直接跳转到结果文章页面

2023-11-3 14:23:32

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索