我一直在尝试将附件上载到自定义目录,而不影响旧的上载。所以我使用下面的代码来实现
add_filter(\'wp_handle_upload_prefilter\', \'cust_pre_upload\');
add_filter(\'wp_handle_upload\', \'cust_post_upload\');
function cust_pre_upload($file){
add_filter(\'upload_dir\', \'cust_dir\');
return $file;
}
function cust_post_upload($fileinfo){
remove_filter(\'upload_dir\', \'cust_dir\');
return $fileinfo;
}
function cust_dir( $args ) {
$customdir ="/mars";
$args[\'path\'] = "C:/wamp/www/web1/wp-content";
$args[\'url\'] = "http://localhost/web1/wp-content";
$args[\'subdir\'] = $customdir;
$args[\'path\'] .= $customdir;
$args[\'url\'] .= $customdir;
return $args;
}
我使用wp\\u handle\\u upload\\u预过滤器仅为我现在或将来上载的附件分配新目录,并使用wp\\u handle\\u upload防止旧附件。这段代码完美地上传到它应该在的文件夹中[http://localhost/web1/wp-content/mars/file.jpg但是附件出现了错误,并显示了无效的附件url,如下所示[http://localhost/web1/wp-content/uploads/C:/wamp/www/web1/wp-内容/火星/文件。jpg]任何帮助或想法都将不胜感激:)尝试了不同类型的代码,但没有成功。