2016-11-18 42 views
1

我已經在WordPress中創建了自定義帖子類型,但是想知道是否可以指定特定於自定義帖子類型的上傳目錄,以及何時插入媒體以及媒體庫只顯示媒體上傳到自定義帖子類型的特定目錄中。自定義帖子類型特定媒體 - WordPress

保存圖像和媒體庫只顯示在媒體:

/wp-content/uplodas/custom_post_type/ 

UPDATE

我有以下的代碼,將過濾的內容我在找,但是我只想跑過濾器if if在client_gallery的CPT上。我的話如果看起來不起作用?

function wpse48677_get_cpt() 
{ 

    if ($_GET['post_type'] == "") { 
     $posts = $_GET['post']; 
     $postType = get_post_type($posts); 
    } else { 
     $postType = $_GET['post_type']; 
    } 

    return $postType; 

} 



    function my_posts_where($where) 
    { 
     global $wpdb; 

     $post_id = false; 
     if (isset($_POST['post_id'])) { 
      $post_id = $_POST['post_id']; 

      $post = get_post($post_id); 
      if ($post) { 
       $where .= $wpdb->prepare(" AND my_post_parent.post_type = %s ", $post->post_type); 
      } 
     } 

     return $where; 
    } 

    function my_posts_join($join) 
    { 
     global $wpdb; 



    $join .= " LEFT JOIN {$wpdb->posts} as my_post_parent ON ({$wpdb->posts}.post_parent = 'client_gallery') "; 

     return $join; 
    } 


    function my_bind_media_uploader_special_filters($query) 
    { 


      add_filter('posts_where', 'my_posts_where'); 
      add_filter('posts_join', 'my_posts_join'); 


     return $query; 
    } 


print wpse48677_get_cpt(); 
if(wpse48677_get_cpt() == 'client_gallery') { 
// THIS IF STATEMENT DOESNT SEEM TO WORK? I KNOW $doJoin == client_gallery 
// AS I CAN SEE IT IF I PRINT IT OUT (see above) 
// IF I RUN THE ADD FILTER WITHOUT THE IF I GET THE RESULTS I"M LOOKING FOR????? 
    add_filter('ajax_query_attachments_args', 'my_bind_media_uploader_special_filters'); 
} 
+0

您可以在上傳文件夾內創建文件夾並加載。 –

+0

如何從特定的文件夾加載,只有當即時通訊從自定義文章類型添加或編輯? – knmsuser

回答

2

如果您在自定義帖子類型聲明發生的位置添加此代碼,您將爲您的自定義帖子類型創建上傳目錄。每當您的上傳發生在帖子類型爲您的帖子時,這也會使用此文件夾。

function super_upload_dir($args) { 
    if(!isset($_REQUEST['post_id']) || get_post_type($id) != $YOUR_POST_TYPE) 
     return $args; 

    $id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : ''); 

    if($id) {  
     $newdir = '/' . $DIRECTORY_NAME; 

     $args['path'] = str_replace($args['subdir'], '', $args['path']); 
     $args['url']  = str_replace($args['subdir'], '', $args['url']);  
     $args['subdir'] = $newdir; 
     $args['path'] .= $newdir; 
     $args['url'] .= $newdir; 
    } 
    return $args; 
} 
add_filter('upload_dir', 'super_upload_dir'); 

爲librairy過濾器,我已經在有辦法篩選基於一個簡碼媒體項目過去使用的插件,但我不會知道蝙蝠做什麼把它過濾基於對當前信息的類型在後端。對不起