如何实现WordPress上传图片文件自动重命名(附:wp_handle_upload()函数详解)
文 / @WordPress主题
正常情况下,上传图片到WordPress的媒体库之后还是会保留原来的名字,蛮不美观且会有一些安全风险。那么今天教大家一下让WordPress上传媒体库文件自动重命名:
实现原理与思路
可以使用WordPress的 wp_handle_upload()
函数来处理上传的图片。这个函数接受一个包含文件信息的数组作为参数,并返回一个新的包含文件信息的数组。
你可以使用这个函数来重命名上传的文件,只需要在调用函数之前设置文件的新名称即可。例如:
$file = array(
'name' => 'my-image.jpg',
'tmp_name' => '/tmp/php/php1h4j1o',
'size' => '12345',
'type' => 'image/jpeg'
);
// 设置文件的新名称
$file['name'] = 'new-name.jpg';
// 使用wp_handle_upload()函数处理文件
$uploaded_file = wp_handle_upload($file, array('test_form' => false));
在上面的例子中,我们首先定义了一个包含文件信息的数组,然后将文件的名称设置为新的名称,最后调用 wp_handle_upload()
函数来处理文件。
需要注意的是,在调用 wp_handle_upload()
函数时,需要将第二个参数设置为 array('test_form' => false)
,以避免在上传时触发表单验证。
最终代码实现
知道了原理,具体在实现的时候,我们只需要在functions.php
文件中加上:
function utheme_custom_upload_filter($file) { $info = pathinfo($file['name']); $ext = '.' . $info['extension']; $md5 = md5($file['name']); $file['name'] = $md5.$ext; return $file; } add_filter('wp_handle_upload_prefilter', 'utheme_custom_upload_filter');

相关文章
-
搭建一个WordPress网站需要多少成本 2023-11-06 00:09:51
-
Symlink介绍(附:如何使用Symlink进行WordPress开发) 2023-11-05 23:38:32
-
让WordPress实现数据库同步的插件:HyperDB 2023-10-24 23:40:49
-
allegro电商平台值得做吗(附:2023年Allegro注册流程指南) 2023-10-08 21:53:39
-
印度跨境电商平台有哪些(附:印度跨境电商做什么产品好) 2023-10-08 21:34:23
-
跨境电商必看的几大海外二手电商平台 2023-10-08 18:04:42
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02