Por lo tanto, estoy tratando de encontrar una manera de usar dos carpetas de carga separadas, siendo la predeterminada wp-content/uploads
para las cargas de medios generales, y otra wp-content/custom
para un tipo específico de archivos adjuntos (archivos PDF adjuntos a un post_type específico).
Es importante mantenerlos separados tanto para la organización como para la seguridad de los datos, ya que los archivos PDF contendrán datos confidenciales que solo deberían ser accesibles para dos roles de usuario personalizados, mientras que los medios generales son, bueno, generales.
Me da un poco de vergüenza mostrarle el código con el que trabajé, porque es pésimo, pero aquí va:
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');
Realmente preferiría tener 2 archivos de carga, uno para este formato posterior y otro para el resto. ¿Hay una forma más limpia de hacerlo?
fuente