Definition:
function press_it() {}
Press It form handler.
Return values
returns:Post ID
Source code
function press_it() { // define some basic variables $quick = array(); $quick['post_status'] = 'draft'; // set as draft first $quick['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : null; $quick['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : null; $quick['post_title'] = ( trim($_POST['title']) != '' ) ? $_POST['title'] : ' '; $quick['post_content'] = isset($_POST['post_content']) ? $_POST['post_content'] : ''; // insert the post with nothing in it, to get an ID $post_ID = wp_insert_post($quick, true); if ( is_wp_error($post_ID) ) wp_die($post_ID); $content = isset($_POST['content']) ? $_POST['content'] : ''; $upload = false; if ( !empty($_POST['photo_src']) && current_user_can('upload_files') ) { foreach( (array) $_POST['photo_src'] as $key => $image) { // see if files exist in content - we don't want to upload non-used selected files. if ( strpos($_POST['content'], htmlspecialchars($image)) !== false ) { $desc = isset($_POST['photo_description'][$key]) ? $_POST['photo_description'][$key] : ''; $upload = media_sideload_image($image, $post_ID, $desc); // Replace the POSTED content <img> with correct uploaded ones. Regex contains fix for Magic Quotes if ( !is_wp_error($upload) ) $content = preg_replace('/<img ([^>]*)src=\\\?(\"|\')'.preg_quote(htmlspecialchars($image), '/').'\\\?(\2)([^>\/]*)\/*>/is', $upload, $content); } } } // set the post_content and status if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) ) $quick['post_status'] = 'publish'; elseif ( isset( $_POST['review'] ) ) $quick['post_status'] = 'pending'; else $quick['post_status'] = 'draft'; $quick['post_content'] = $content; // error handling for media_sideload if ( is_wp_error($upload) ) { wp_delete_post($post_ID); wp_die($upload); } else { // Post formats if ( current_theme_supports( 'post-formats' ) && isset( $_POST['post_format'] ) ) { $post_formats = get_theme_support( 'post-formats' ); if ( is_array( $post_formats ) ) { $post_formats = $post_formats[0]; if ( in_array( $_POST['post_format'], $post_formats ) ) set_post_format( $post_ID, $_POST['post_format'] ); elseif ( '0' == $_POST['post_format'] ) set_post_format( $post_ID, false ); } } $quick['ID'] = $post_ID; wp_update_post($quick); } return $post_ID; }
2603
No comments yet... Be the first to leave a reply!