I have a front end post form where I take a file upload of an image. That image gets stored as a custom field which is easy enough to do. What I need to do though is store each unique image url for each user into an array in their usermeta. I want to do this so I can show them a list of those images they've already uploaded and give them the option of choosing one of those instead of uploading a new one.
So to elaborate I have a basic file upload choice in my form.
<input type="file" name="music_image" id="music_image"/> Beneath this I need a check box select showing them the images of any others they have uploaded and somehow make it so if they choose a file they can't select an image an vice versa. And then I need to add the uploaded file to an array as usermeta on form submit. Awful explanation but I think it makes sense.
Here is what I use to activate the form.
<?php if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "new_post") { if ( ! function_exists( 'wp_handle_upload' )) { require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); } $file=$_FILES; // Do some minor form validation to make sure there is content if (isset ($_POST['title'])) { $title = $_POST['title']; } else { echo 'Please enter a game title'; } if (isset ($_POST['description'])) { $description = $_POST['description']; } else { echo 'Please enter the content'; } $tags = $_POST['post_tags']; // Add the content of the form to $post as an array $new_post = array( 'post_title' => $title, 'post_content' => $description, 'post_category' => array(11), 'tags_input' => array($tags), 'post_status' => 'publish', // Choose: publish, preview, future, draft, etc. 'post_type' => fod_music // Use a custom post type if you want to ); $overrides = array( 'test_form' => false); $uploaded_music = wp_handle_upload( $file['music_file'], $overrides ); $uploaded_music_art = wp_handle_upload( $file['music_image'], $overrides ); //save the new post and return its ID $pid = wp_insert_post($new_post); update_post_meta($pid,'music_code',$uploaded_music['url']); update_post_meta($pid,'music_art',$uploaded_music_art['url']); wp_redirect( get_permalink($pid)); exit(); } do_action('wp_insert_post', 'wp_insert_post'); ?>