1. 正在先生首页
  2. 技术开发

修改WordPress上传目录的方法-插件版,数据库版,动手版,进阶版

插件版
下载插件 WP Original Media Path
https://wordpress.org/plugins/wp-original-media-path/

这基本上是最无脑的版本了。即插即用。缺点是得在初始化wordpress的时候就配置好,否则还得事后手动复制原始上传目录到指定位置。

数据库版
用phpmyadmin打开wordpress所在数据库,找到表:wp-options-> option_id:57 or option_name:upload_url_path ,直接修改对应的option_value即可。注意,必须是完整路径,包含 http:// or https://
而插件版也只是用插件的方式修改了这个值。所以对于有强迫症不喜欢搞一大堆插件的患者而言,这是不错的选择。我也该吃药了。

动手版
在Wordpress根目录下找到 wp-config.php ,添加如下代码

define('UPLOADS', 'upload');

注意:
1,动手版优先级高于插件版,也就是说,在wp-config.php,则插件无法生效;
2,不论哪种方式,该目录必须位于 wordpress 安装目录下
3,如果需要经常更改上传目录(防止盗链),那就总得迁移上传目录,所以,还是手动版比插件版和数据库版更加方便

更改目录之后要做什么?
如果之前已经有上传过的媒体文件,需要将原始上传目录复制到上述方法指定的位置去。
如果出现无法写入的问题,要注意修改读写权限

进阶版
每个人都有不一样的想法和需求,那我来说,我经常会对wordpress系统做一些自定义,与此同时,wordpress在运营过程中又上传了大量的媒体。这个时候,要对wordpress做自己的版本控制,而上传的媒体文件也需要另外经常备份。所以如果有办法能够将wordpress系统和上传的文件彻底分开就完美了。
办法有很多,下面分享我的

用linux的ln命令,将上传目录硬链接到服务器上任意物理位置

sudo ln -s [目标实际目录] [wordpress中定义的上传路径]

这样的好处是,我们每次只需要每次修改 wp-config.php 和运行上面的命令,就可以实现wordpress中图片视频文件的更改网址。有效实现防盗链的同时,又不需要每次迁移真实上传目录。

更改目录后需要特别注意
在新建文章的时候,如果是直接添加媒体,会出现一些BUG。影响到视频文件的目录更改。
当直接添加媒体到文章内部的时候,媒体文件的URL是已经被完整写入正文中的。而在前端展示的时候,图片文件的URL会被替换为更改后的上传目录,所以可以正常访问,视频文件则不会。
正如上面所说的,因为URL是被完整写入正文的,所以在后台中编辑正文的时候,会出现图片和视频都无法显示的情况。
以上是wordpress目前的两个BUG,当前版本4.9.1,希望以后的版本可以修正。

当前的解决办法,就是在”添加媒体”的时候,图片文件,选择“创建相册”来添加。 视频文件,选择“创建视频播放列表”。通过这种办法,不论前台后台,均可正常显示。

原创文章,作者:Y.Y,如若转载,请注明出处:https://84361749.com/post/wordpress-upload-path.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注