对于 WordPress 上传图片附件命名的问题,我个人是趋向于用规则重新给图片命名,这样方便后期图片的迁移和管理。周良博客 目前使用的图片附件命名方式是“人工智能。。。”,就是自己手动修改图片的名称,和每篇文章的标题中英文相对。但这个方法对很多图片量很大的站点来说,太过于烦琐。所以周良这里给大家一个 WordPress小技巧,可以让WordpPress 上传图片的时候,自动根据日期时间修改图片地址名称。
我们可以通过下面的代码实现
方法一,插件形式
代码如下 | 复制代码 |
function huilang_wp_handle_upload_prefilter($file){ |
使用方法:把这段代码另存为 .php 文件,上传到 wp-content/plugins 目录下,然后在后台启用这个插件即可。如果不想以插件的形式使用,可以把这段代码黏贴到你当前 WordPress 主题的 functions.php 中(黏贴到 functions.php 中时,请一定要去掉本代码第一行的“
注:上面的代码修改图片改名称的机制为“年月日+随机数字”,如果你想要加上时分秒,请修改第12行 $time=date(“Y-m-d”); 为 $time=date(“Y-m-d H:i:s”); 即可。
方法二,直接使用在functions.php加如下代码
往主题functions.php添加以下代码即可
代码如下 | 复制代码 |
//自动改图片文件名称 |
这样做的好处有:有些主机不支持中文名称,会导致上传的图片不会正常显示在用户的浏览器上;ftp下载的中文图片名称的时候乱码,如果你是备份到本地然后恢复的时候,那就全毁了(额,我就是受害者,so...);
ps:上面是改名称为年月日+随机数字,要想加上时分秒,修改第三行 $time=date("Y-m-d"); 为 $time=date("Y-m-d H:i:s"); 即可
方法三,同样是在function函数中操作
用过wordpress的应该都知道如果我们上传的文件的名字中有中文,上传到linux服务上后发现会是乱码,所以有必要把上传的文件做一个自动重命名...这样也会方便我们管理
在functions.php中加入以下代码:
代码如下 | 复制代码 |
function new_filename($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return md5($name) . $ext; } add_filter('sanitize_file_name', 'new_filename', 10); |
添加保存之后,就可以实现了文件的自动更名,自动生成的是一个32个的md5加密的文件名,如果你认识32位的文件名太长了
你可以使用 substr()来截取你想要的长度,代码如下,我使用的是15位
代码如下 | 复制代码 |
function new_filename($filename) { |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级