如何调整Upload_dir以保存WP Uploads文件夹之外的文件

时间:2016-05-02 作者:Richard Tinkler

我们有一个CPT,用于管理各种资产,包括图像、pdf、CAD和其他文件。

我们的客户希望将这些资产文件与其其他媒体文件分开,并且不希望它们出现在WP媒体面板中。

我们发现了这个有用的片段,它允许我们上传到WP uploads文件夹中的自定义文件夹:

function my_upload_dir($upload) {
    $upload[\'subdir\']   = \'/assets\';
    $upload[\'path\']     = $upload[\'basedir\'] . $upload[\'subdir\'];
    $upload[\'url\']      = $upload[\'baseurl\'] . $upload[\'subdir\'];
    return $upload;
}

add_filter(\'upload_dir\', \'my_upload_dir\');
$uploaded_file = wp_handle_upload($_FILES[\'xxxx\'], $upload_overrides);
remove_filter(\'upload_dir\', \'my_upload_dir\');
我们如何才能正确地将此CPT的图像上载到自定义“资产”文件夹,例如:wp内容/资产?

提前感谢您的帮助!

1 个回复
SO网友:Mark Kaplun

这是不可能做到的(或者至少不容易做到)。上载过程的工作方式是,首先将文件上载到媒体库中,只有在文件位于媒体库中后,您才能may 将其与帖子关联。

如果您想使用媒体工作流,则必须使用媒体库,如果您试图避免使用,则很可能会破坏一些不明显的内容。

如果您的客户不想使用媒体库,那么他只需在FTP中上载文件并手动插入链接即可。(当然,从长远来看,这会导致维护噩梦,这就是为什么wordpress在大约20个版本之前就停止做这种事情的原因)。