【发布时间】:2017-10-04 05:36:30
【问题描述】:
正如标题所说,我正在尝试将媒体库上传重命名为文件添加到的初始帖子的标题。
我找到了以下函数并修改它以将文件名更改为文件的作者slug
// file renamer (used for EDL images)
function file_renamer( $filename ) {
$info = pathinfo( $filename );
$ext = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
$name = basename( $filename, $ext );
global $current_user;
get_currentuserinfo();
return $current_user->user_login . $ext;
}
但是,这对客户来说还不够好。我还没有在网上找到任何解决方案。任何帮助将不胜感激!
编辑 - 只是想补充一点,我也为此使用了高级自定义字段。这是此过程的其余代码,它将特定的自定义字段图像定向到某个目录-
// EDL uploaded images will go to the /edl directory in uploads for these fields.
add_filter('acf/upload_prefilter/name=edl_dealer_logo', 'field_name_upload_prefilter');
add_filter('acf/upload_prefilter/name=edl_image', 'field_name_upload_prefilter');
add_filter('acf/upload_prefilter/name=edl_gallery_image', 'field_name_upload_prefilter');
function field_name_upload_prefilter($file) {
// in this filter we add a WP filter that alters the upload path
add_filter( 'sanitize_file_name', 'file_renamer', 10 );
add_filter('upload_dir', 'field_name_upload_dir');
return $file;
}
// second filter
function field_name_upload_dir($uploads) {
$mydir = '/edl';
// here is where we later the path
$uploads['path'] = $uploads['basedir'].$mydir;
$uploads['url'] = $uploads['baseurl'].$mydir;
$uploads['subdir'] = '/edl';
return $uploads;
}
【问题讨论】: