/** * Update or create a job listing from posted data * * @param string $post_title * @param string $post_content * @param string $status */ protected static function save_job($post_title, $post_content, $status = 'preview', $values = array()) { $job_slug = array(); // Prepend with company name if (!empty($values['company']['company_name'])) { $job_slug[] = $values['company']['company_name']; } // Prepend location if (!empty($values['job']['job_location'])) { $job_slug[] = $values['job']['job_location']; } // Prepend with job type if (!empty($values['job']['job_type'])) { $job_slug[] = $values['job']['job_type']; } $job_slug[] = $post_title; $job_data = apply_filters('submit_job_form_save_job_data', array('post_title' => $post_title, 'post_name' => sanitize_title(implode('-', $job_slug)), 'post_content' => $post_content, 'post_type' => 'job_listing', 'comment_status' => 'closed'), $post_title, $post_content, $status, $values); if ($status) { $job_data['post_status'] = $status; } if (self::$job_id) { $job_data['ID'] = self::$job_id; wp_update_post($job_data); } else { self::$job_id = wp_insert_post($job_data); } }