Отже, я намагаюся знайти спосіб використання двох окремих папок завантаження, які є типовим wp-content/uploads
для загального завантаження на медіа та ще одного - wp-content/custom
для одного конкретного типу вкладених файлів (PDF-файли, прикріплені до одного конкретного post_type).
Важливо залишатись розділеними як для організації, так і для захисту даних, оскільки файли PDF містять дещо чутливі дані, до яких мають бути доступні лише дві користувацькі ролі, тоді як загальні носії інформації є загальними.
Мені трохи соромно показати вам код, з яким я працював, тому що він паршивий, але ось це:
function custom_post_type_metabox_save_function($post_id) {
global $post;
// Verify auto-save, nonces, permissions and so on then:
update_post_meta($post_id, "meta_key1", $_POST["value1"]);
update_post_meta($post_id, "meta_key2", $_POST["value2"]);
// this is where it gets uply. I change the 'upload_path' to my desired one for this post type
update_option('upload_path','wp-content/custom-upload-dir');
// then upload the file to it
wp_upload_bits($_FILES["pdfexame"]["name"], null, file_get_contents($_FILES["pdfexame"]["tmp_name"]));
// and then change it back to default... :$
update_option('upload_path','');
}
add_action('save_post','custom_post_type_metabox_save_function');
Я б дійсно просто мав два файли завантаження, один для цього постформату, а інший для решти. Чи є більш чистий спосіб зробити це?