WordPress自定义上传路径和生成文件的URL地址

前端之家收集整理的这篇文章主要介绍了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,然后找到下面选项,将其设置为你所需的参数。

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 中设置

猜你在找的wordpress相关文章