如何将WordPress发布的图片上加上时间戳,从而防止图片重名呢?

  如何将WordPress发布的图片上加上时间戳,从而防止图片重名呢?首先,简单地整理一下WordPress后台上传图片的流程,就是WordPress使用MEDIA_HANDLE_UPLOAD函数来处理上传图片的整个过程。步骤如下:  1.使用WP_HANDAND_UPLPAD将图片上载到WordPress上传目录。...

  如何将WordPress发布的图片上加上时间戳,从而防止图片重名呢?首先,简单地整理一下WordPress后台上传图片的流程,就是WordPress使用MEDIA_HANDLE_UPLOAD函数来处理上传图片的整个过程。步骤如下:

如何将WordPress发布的图片上加上时间戳,从而防止图片重名呢?

  1.使用WP_HANDAND_UPLPAD将图片上载到WordPress上传目录。

  2.然后整理数据并将其提交给WP_INSERT_ATTACHMENT。

  3.WP_INSERT_ATTACHMENT函数调用WP_INSERT_POST并将其插入WordPress的POST数据库表中。

  4.WP_INSERT_POST使用WP_UNIQUE_POST_SLUG函数在将图片信息插入WordPress的POST数据库表之前设置唯一的POST_SLUG。

  WP_UNIQUE_POST_SLUG将转到数据库以检查图片的名称是否已经可用,当它可用时,它会重命名图片的名称,例如1.jPG。它将被重命名为1-2.jpg,如果1-2.jpg名称也可用,则将其重命名为1-3.jpg,以此类推,直到名称是唯一的。这将导致数百个sql请求。

  我们不能让用户坚持不上传像1.jpg这样太普通的图片名称,但是为了防止大量的SQL查询,我们应该从源头上解决这个问题,并更改图片的名称。

  添加以下代码

  add_filter(‘wp_handle_upload_prefilter’, function($file) { if(strlen($file[‘name’])<=7){ $file[‘name’] = time().’-‘.$file[‘name’]; } return $file; });

  这段代码是,如果图片的名称(包括.jpg后缀名称)超过7个字符,则在图片的名称上添加一个时间戳,这样重复检查的概率就可以被认为消失了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
豆包可以帮你高效完成AI问答、AI对话、提供软件相关教程以及解决生活中遇到的各种疑难杂症,还能帮助你进行AI写作、AI绘画等等,提高你的工作学习效率。
!
你也想出现在这里?立即 联系我们吧!
信息
个人中心
购物车
优惠劵
今日签到
搜索