文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了网络知识-WordPress教程:自定义上传路径和生成文件的URL地址的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
WordPress 3.5 一个最大的改变就是更加简洁化,把一些用户不常使用的设置去掉或者隐藏了,比如后台的媒体(Media)设置页面隐藏上传路径(upload_path)和文件 URL 地址(upload_url_path)的设定就被隐藏了。如果你还要进行设置这两个选项,现在只能在 options.php
中进行设置,或者使用 UPLOADS 常量,也可以使用 upload_dir 这个 filter。下面分别介绍下这三种方法:
1. options.php 中设置
直接访问:http://site_url/wp-admin/options.php,然后找到下面选项,将其设置为你所需的参数。
2. 定义 UPLOADS 常量
在 wp-config.php
文件中定义 UPLOADS 这个常量:
define(''UPLOADS'',''my-uploads'');
这个方法有个不好的地方:只能指定上传的相对目录,生成文件的 URL 地址不能使用子域名,这样在做静态文件 CDN 加速的时候就不是很方便。
3. 使用 upload_dir filter
这个方法,效果其实和第一个方法基本一致:
add_filter( ''upload_dir'', ''wpjam_custom_upload_dir'' );
function wpjam_custom_upload_dir( $uploads ) {
$upload_path = '''';
$upload_url_path = '''';
if ( empty( $upload_path ) || ''wp-content/uploads'' == $upload_path ) {
$uploads[''basedir''] = WP_CONTENT_DIR . ''/uploads'';
} elseif ( 0 !== strpos( $upload_path, ABSPATH ) ) {
$uploads[''basedir''] = path_join( ABSPATH, $upload_path );
} else {
$uploads[''basedir''] = $upload_path;
}
$uploads[''path''] = $uploads[''basedir''].$uploads[''subdir''];
if ( $upload_url_path ) {
$uploads[''baseurl''] = $upload_url_path;
$uploads[''url''] = $uploads[''baseurl''].$uploads[''subdir''];
}
return $uploads;
}
将上面代码中的 $upload_path
和 $upload_url_path
改成你要的值,然后上传到当前主题的 fucntions.php
文件即可。
另外这三种方法的优先级是:使用 upload_dir
filter > 定义 UPLOADS 常量 > options.php
中设置。