public static function update_post_meta($meta_vars, $post_id) { // prepare the meta vars list($meta_key_value, $multi_repeated, $files) = self::prepare_meta_fields($meta_vars); // set featured image if there's any if (isset($_POST['wpuf_files']['featured_image'])) { $attachment_id = $_POST['wpuf_files']['featured_image'][0]; wpuf_associate_attachment($attachment_id, $post_id); set_post_thumbnail($post_id, $attachment_id); $file_data = isset($_POST['wpuf_files_data'][$attachment_id]) ? $_POST['wpuf_files_data'][$attachment_id] : false; if ($file_data) { wp_update_post(array('ID' => $attachment_id, 'post_title' => $file_data['title'], 'post_content' => $file_data['desc'], 'post_excerpt' => $file_data['caption'])); update_post_meta($attachment_id, '_wp_attachment_image_alt', $file_data['title']); } } // save all custom fields foreach ($meta_key_value as $meta_key => $meta_value) { update_post_meta($post_id, $meta_key, $meta_value); } // save any multicolumn repeatable fields foreach ($multi_repeated as $repeat_key => $repeat_value) { // first, delete any previous repeatable fields delete_post_meta($post_id, $repeat_key); // now add them foreach ($repeat_value as $repeat_field) { add_post_meta($post_id, $repeat_key, $repeat_field); } } // save any files attached foreach ($files as $file_input) { // delete any previous value delete_post_meta($post_id, $file_input['name']); foreach ($file_input['value'] as $attachment_id) { wpuf_associate_attachment($attachment_id, $post_id); add_post_meta($post_id, $file_input['name'], $attachment_id); // file title, caption, desc update $file_data = isset($_POST['wpuf_files_data'][$attachment_id]) ? $_POST['wpuf_files_data'][$attachment_id] : false; if ($file_data) { wp_update_post(array('ID' => $attachment_id, 'post_title' => $file_data['title'], 'post_content' => $file_data['desc'], 'post_excerpt' => $file_data['caption'])); update_post_meta($attachment_id, '_wp_attachment_image_alt', $file_data['title']); } } } }
public static function update_post_meta($meta_vars, $post_id) { // prepare the meta vars list($meta_key_value, $multi_repeated, $files) = self::prepare_meta_fields($meta_vars); // set featured image if there's any if (isset($_POST['wpuf_files']['featured_image'])) { $attachment_id = $_POST['wpuf_files']['featured_image'][0]; wpuf_associate_attachment($attachment_id, $post_id); set_post_thumbnail($post_id, $attachment_id); } // save all custom fields foreach ($meta_key_value as $meta_key => $meta_value) { update_post_meta($post_id, $meta_key, $meta_value); } // save any multicolumn repeatable fields foreach ($multi_repeated as $repeat_key => $repeat_value) { // first, delete any previous repeatable fields delete_post_meta($post_id, $repeat_key); // now add them foreach ($repeat_value as $repeat_field) { add_post_meta($post_id, $repeat_key, $repeat_field); } } // save any files attached foreach ($files as $file_input) { // delete any previous value delete_post_meta($post_id, $file_input['name']); foreach ($file_input['value'] as $attachment_id) { wpuf_associate_attachment($attachment_id, $post_id); add_post_meta($post_id, $file_input['name'], $attachment_id); } } }