したがって、私は2つの個別のアップロードフォルダーを使用する方法を見つけようとしています。これは、wp-content/uploads
一般的なメディアアップロードのデフォルトのフォルダーとwp-content/custom
、1つの特定の種類の添付ファイル(1つの特定のpost_typeに添付されたPDFファイル)です。
PDFファイルには多少の機密データが含まれているため、組織とデータの両方のセキュリティを確保することが重要です。これは、一般的なメディアは一般的なものですが、2つのカスタムユーザーロールによってのみアクセス可能です。
お粗末なため、私が機能したコードを紹介するのは少し恥ずかしいですが、次のようになります。
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');
私は実際には、このポストフォーマット用と残りのファイル用の2つのアップロードファイルを用意するだけです。それについてより明確な方法はありますか?