WordPress 技巧:上传图片自动按日期更名

2014.03.22 63 Comments 4,006 次阅读

对于 WordPress 上传图片附件命名的问题,我个人是趋向于用规则重新给图片命名,这样方便后期图片的迁移和管理。周良博客 目前使用的图片附件命名方式是“人工智能。。。”,就是自己手动修改图片的名称,和每篇文章的标题中英文相对。但这个方法对很多图片量很大的站点来说,太过于烦琐。所以周良这里给大家一个 WordPress小技巧,可以让WordpPress 上传图片的时候,自动根据日期时间修改图片地址名称。

我们可以通过下面的代码实现:
[cce_php]
<?php
/*
Plugin Name: WordPress 上传图片自动更名
Plugin URI: http://www.aips.me/wordpress-upload-pictures-renamed.html
Description: WordPress 技巧:上传图片自动按日期时间更名
Version: 0.1
Author: xiaowudesign
Author URI: http://www.aips.me/
*/

function huilang_wp_handle_upload_prefilter($file){
$time=date("Y-m-d");
$file['name'] = $time."".mt_rand(1,100).".".pathinfo($file['name'] , PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'huilang_wp_handle_upload_prefilter');
[/cce_php]

使用方法把这段代码另存为 .php 文件,上传到 wp-content/plugins 目录下,然后在后台启用这个插件即可。如果不想以插件的形式使用,可以把这段代码黏贴到你当前 WordPress 主题的 functions.php 中(黏贴到 functions.php 中时,请一定要去掉本代码第一行的“<?php”,不然会导致网站崩溃)。

:上面的代码修改图片改名称的机制为“年月日+随机数字”,如果你想要加上时分秒,请修改第12行

[cce_php]  $time=date("Y-m-d"); 为  $time=date("Y-m-d H:i:s");  即可。[/cce_php]
63 Responses
Comment (21)
Trackback (0)
  • #16
    陌小雨 :

    这个挺好用的,哈哈

    2014.10.30 09:03 Reply
  • #17
    adobe大学 :

    如果用了七牛,,这代码会生效吗?

    2014.04.19 13:35 Reply
    • 周良 :

      如果是水煮鱼的插件,可以生效

      2014.04.20 01:33 Reply
  • #18
    adobe大学 :

    如果用了七牛,,这代码会生效吗?

    2014.04.19 13:35 Reply
    • 周良 :

      如果是水煮鱼的插件,可以生效

      2014.04.20 01:33 Reply
  • #19
    YaTOM :

    很不错的,谢谢博主分享了。

    2014.04.10 22:35 Reply
  • #20
    YaTOM :

    很不错的,谢谢博主分享了。

    2014.04.10 22:35 Reply
  • #21
    电脑爱好者 :

    我每次上传都是默认1.jpg 上传上去被改成啥名就不知道了…

    2014.04.3 10:47 Reply
    • 周良 :

      2014-03-22-14292241.jpg 类似这样的格式。不管你本地的名称是什么,都会被程序自动改名

      2014.04.3 21:11 Reply
  • #22
    电脑爱好者 :

    我每次上传都是默认1.jpg 上传上去被改成啥名就不知道了…

    2014.04.3 10:47 Reply
    • 周良 :

      2014-03-22-14292241.jpg 类似这样的格式。不管你本地的名称是什么,都会被程序自动改名

      2014.04.3 21:11 Reply
  • #23
    如果这是爱 :

    如果我想在数字前面加英文怎么加? 比如 aips-me-2014-03-22-14292241.jpg或者是在数字后面

    2014.03.31 16:30 Reply
    • 周良 :

      没研究过。你可以在时间函数前面加英文试试。记得本地测试哈。。。

      2014.03.31 21:25 Reply
  • #24
    如果这是爱 :

    如果我想在数字前面加英文怎么加? 比如 aips-me-2014-03-22-14292241.jpg或者是在数字后面

    2014.03.31 16:30 Reply
    • 周良 :

      没研究过。你可以在时间函数前面加英文试试。记得本地测试哈。。。

      2014.03.31 21:25 Reply
  • #25
    西门 :

    还可以这样啊,我每次都是手动把图片名字改成日期数字。。。

    2014.03.31 11:41 Reply
    • 周良 :

      php有这个的函数

      2014.03.31 21:24 Reply
  • 还没有Trackback
Leave a Reply