Post type specific upload folder in 3.5

In 3.4 I used the following function to change image upload folder by post type.
Different upload directory based on post type in a theme
Now it doesn’t work anymore in 3.5. Do you have any idea how to replace this function in 3.5 version?

thanks

Related posts

Leave a Reply

1 comment

  1. Yes, it does. I had to do something similar just yesterday and worked out this solution. About the same as the linked solution, but with a bit more error checking.

    <?php
    add_filter('upload_dir', 'cgg_upload_dir');
    function cgg_upload_dir($dir)
    {
        // xxx Lots of $_REQUEST usage in here, not a great idea.
    
        // Are we where we want to be?
        if (!isset($_REQUEST['action']) || 'upload-attachment' !== $_REQUEST['action']) {
            return $dir;
        }
    
        // make sure we have a post ID
        if (!isset($_REQUEST['post_id'])) {
            return $dir;
        }
    
        // modify the path and url.
        $type = get_post_type($_REQUEST['post_id']);
        $uploads = apply_filters("{$type}_upload_directory", $type);
        $dir['path'] = path_join($dir['basedir'], $uploads);
        $dir['url'] = path_join($dir['baseurl'], $uploads);
    
        return $dir;
    }