Staram się więc znaleźć sposób na użycie dwóch oddzielnych folderów przesyłania, które są domyślne wp-content/uploads
dla przesyłania plików multimedialnych, a drugi wp-content/custom
dla jednego określonego typu załączników (pliki PDF dołączone do jednego określonego typu post_).
Ważne jest, aby trzymać je oddzielnie dla organizacji i bezpieczeństwa danych, ponieważ pliki PDF będą zawierać nieco wrażliwe dane, które powinny być dostępne tylko przez dwie niestandardowe role użytkowników, podczas gdy ogólne media są, no cóż, ogólne.
Jestem trochę zawstydzony, aby pokazać ci kod, który uruchomiłem, ponieważ jest kiepski, ale oto:
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');
Naprawdę wolałbym mieć tylko 2 pliki do przesłania, jeden dla tego formatu post, a drugi dla reszty. Czy jest na to lepszy sposób?
źródło