Title: Custom upload paths
Last modified: November 7, 2018

---

# Custom upload paths

 *  Resolved [esctab](https://wordpress.org/support/users/esctab/)
 * (@esctab)
 * [7 years, 6 months ago](https://wordpress.org/support/topic/custom-upload-paths/)
 * Hello [@interfacelab](https://wordpress.org/support/users/interfacelab/),
 * Great plugin! I really like the prefixes you added, but I have one question.
   
   Is there a possibility to set different upload paths for different custom post
   type?
 * I mean if there exist any wp filter/hook inside your plugin which I can use to
   change upload path from the “Storage Settings/UPLOAD HANDLING”.
 * I have tried to find any documentation but without luck 🙁

Viewing 1 replies (of 1 total)

 *  Plugin Author [interfacelab](https://wordpress.org/support/users/interfacelab/)
 * (@interfacelab)
 * [7 years, 6 months ago](https://wordpress.org/support/topic/custom-upload-paths/#post-10859440)
 * There isn’t, but you can just hook into WordPress’s filter for this (which is
   what Media Cloud does). Make sure you do it at a priority higher than 10000 though.
   I would do something like this in your functions.php:
 *     ```
       // We only want to generate the custom upload dir during an
       // actual upload
       add_filter('wp_handle_upload_prefilter', function($file){
           add_filter('upload_dir', 'customUploadDir', 10001);
           return $file;
       });
   
       // Upload has been handled, so remove our custom filter
       add_filter('wp_handle_upload', function($fileinfo){
           remove_filter('upload_dir', 'customUploadDir');
           return $fileinfo;
       });
   
       // do whatever you need to do here to customize the path
       function customUploadDir($params) {
           $newPath = '/nice/'.date('Y/m/d/G/i/s');
           $params['path'] = str_replace($params['subdir'], $newPath, $params['path']);
           $params['url'] = str_replace($params['subdir'], $newPath, $params['url']);
           $parms['subdir'] = $newPath;
           return $params;
       }
       ```
   

Viewing 1 replies (of 1 total)

The topic ‘Custom upload paths’ is closed to new replies.

 * ![](https://ps.w.org/ilab-media-tools/assets/icon.svg?rev=2795439)
 * [Media Cloud for Bunny CDN, Amazon S3, Cloudflare R2, Google Cloud Storage, DigitalOcean and more](https://wordpress.org/plugins/ilab-media-tools/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/ilab-media-tools/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/ilab-media-tools/)
 * [Active Topics](https://wordpress.org/support/plugin/ilab-media-tools/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/ilab-media-tools/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/ilab-media-tools/reviews/)

## Tags

 * [path](https://wordpress.org/support/topic-tag/path/)

 * 1 reply
 * 2 participants
 * Last reply from: [interfacelab](https://wordpress.org/support/users/interfacelab/)
 * Last activity: [7 years, 6 months ago](https://wordpress.org/support/topic/custom-upload-paths/#post-10859440)
 * Status: resolved