2012-01-05 82 views
0

请参阅下面的过滤器,我正在使用该过滤器来更改我的自定义发布类型的上传目录。自定义上传目录也可以更改附件meta

我的自定义后的类型名称为“下载”

我在我的自定义后式“下载”上传新的目录,现在...... 的wp-content /下载/

的问题在于这样做,是因为附件元数据正在寻找原始目录中的缩略图wp-content/uploads/,因此我的图像缩略图丢失。

我如何调整我的过滤器或解决的问题,所以这个自定义后类型的附件数据只使用新目录的wp-content /下载/

谢谢你是进步的任何建议或帮助。

乔希

add_filter('upload_dir', 'my_custom_upload_dir'); 
function my_custom_upload_dir($default_dir) { 

    if (! isset($_POST['post_id']) || $_POST['post_id'] < 0) 
    return $default_dir; 
    if (get_post_type($_POST['post_id']) != 'download') 
    return $default_dir; 

    $dir = WP_CONTENT_DIR . '/downloads'; 
    $url = WP_CONTENT_URL . '/downloads'; 

    $bdir = $dir; 
    $burl = $url; 
    $subdir = ''; 

    if (get_option('uploads_use_yearmonth_folders')) { 

     $time = current_time('mysql'); 
     $y = substr($time, 0, 4); 
     $m = substr($time, 5, 2); 
     $subdir = "/$y/$m"; 

    } 

    $dir .= $subdir; 
    $url .= $subdir; 

    $custom_dir = array( 

     'path' => $dir, 
     'url'  => $url, 
     'subdir' => $subdir, 
     'basedir' => $bdir, 
     'baseurl' => $burl, 
     'error' => false, 

    ); 

    return $custom_dir; 

} 

回答