2015-03-13 56 views
1

我有一個針對Wordpress(我打算創建)的插件,bascially將使用媒體庫的相同功能(上傳/查看/設置描述等)。WordPress的 - 複製媒體庫或分類?

有沒有辦法「複製」媒體庫,然後使用它/修改它,如你所願?

背景: 我想將這些照片分類給不同的客戶(網站所有者上傳)。我相信內置媒體庫應該用於特定網站的照片(如標識,產品照片等)。我不想將內置的「媒體庫」與特定的客戶照片混合在一起。

準則 也許有更好的方法。 (在每個客戶的媒體類別中創建類別是否更好?)如果有,請告訴我。我正在尋找指導方針 - 而不是解決方案。

回答

1

解決方案1: 首先查詢職位,然後他們每個人使用這樣的代碼:

$images = get_children(array(
    'post_parent' => get_the_ID(), 
    'post_type'  => 'attachment', 
    'post_mime_type' => 'image', 
    'numberposts' => -1 
    )); 
foreach ((array) $images as $image) { 
    print wp_get_attachment_url($image->ID); 
} 

我不喜歡這樣的解決方案,因爲它會產生許多SQL查詢。

解決方案2: 編寫您自己的SQL查詢,它將一次選擇所有圖像。它應該是這個樣子:

// change this to your custom post type, attachment in your case. 
$post_type = 'attachment'; 

    global $wpdb; 
    $where = get_posts_by_author_sql($post_type); 
    $query = "SELECT * FROM $wpdb->posts p where p.post_type = 'attachment' AND (p.post_mime_type LIKE 'image/%') AND (p.post_status = 'inherit') AND p.post_parent IN (SELECT $wpdb->posts.ID FROM $wpdb->posts {$where}) ORDER BY p.post_date DESC"; 
    $results = $wpdb->get_results($query); 

    if ($results) { 

     foreach ((array) $results as $image) { 
     print wp_get_attachment_url($image->ID); 
     } 
    } 

我將建立一個插件的方式,創建一個自定義職位類型,類似於媒體上傳類型,然後按照您的意願修改(添加例如類別) 。

我喜歡插件的想法,所以讓我知道你完成,祝你好運。

編輯:如果你真的想所有的圖像文件複製到另一個目錄,你可以用做這樣的事情:

$source = wp_upload_dir(); // get WordPress upload directory 
$dest= "wp-content/My-new-Directory"; // where you would like to copy 

mkdir($dest, 0755); 
foreach (
$iterator = new \RecursiveIteratorIterator(
    new \RecursiveDirectoryIterator($source, \RecursiveDirectoryIterator::SKIP_DOTS), 
    \RecursiveIteratorIterator::SELF_FIRST) as $item 
) { 
    if ($item->isDir()) { 
    mkdir($dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName()); 
    } else { 
    copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName()); 
    } 
} 
+1

非常感謝!我打算在插件完成時回覆你:-) – bestprogrammerintheworld 2015-03-24 07:04:55

1

理論上,您可以複製整個媒體庫。

媒體庫(在管理面板中)基本上是一個帖子類型的存檔。問題的帖子類型是附件

通過定義您的自定義帖子類型,您可以添加複製附件功能所需的所有操作,顯示和功能鉤子。

如果要通過使用分級或非分級分類分類標準對附件進行分類,您可以註冊附件帖子類型的自定義分類。

這兩種方式都是半複雜的,可能不需要。您是否會如此善意地更詳細地描述您的使用情況,以便我可以更好地爲您提供幫助。

+0

感謝您的答覆!不幸的是,我無法將這些信息告訴給我們。你會知道爲什麼當插件到達市場。 – bestprogrammerintheworld 2015-03-24 07:13:10