Ejemplo n.º 1
0
 /**
  * Automatically create a post and embed the specified presentation.
  */
 public function post_from_slideset()
 {
     $response = array();
     $response['success'] = false;
     if (!wp_verify_nonce($_POST['_nonce'], 'use_in_post')) {
         wp_send_json($response);
     }
     // First, get our embed code
     $slideset_id = (int) $_POST['slideset'];
     $slideset = new SEOSlides_Slideset($slideset_id);
     $embed_id = $slideset->get_embed_id();
     $embed_url = SEOSlides_Module_Provider::get('SEOSlides Embed')->get_embed_url($slideset_id, $slideset->first_slide()->slug);
     $embed = '[seoslides embed_id="' . $embed_id . '"';
     $embed .= ' script_src="' . preg_replace('/\\/(slides|embeds)\\//', '/embed-script/', $embed_url) . '"';
     $embed .= ' overview_src="' . get_permalink($slideset_id) . '"';
     $embed .= ' title="' . get_the_title($slideset_id) . '"';
     $embed .= ' site_src="' . get_home_url() . '"';
     $embed .= ' site_title="' . get_bloginfo('name') . '"';
     $embed .= ' /]';
     // Build out the new post
     $post = wp_insert_post(array('post_status' => 'draft', 'post_type' => 'post', 'post_content' => $embed));
     if (is_wp_error($post) || 0 === $post) {
         wp_send_json($response);
     }
     // Build the edit post url
     $edit_url = admin_url('post.php');
     $edit_url = add_query_arg(array('post' => $post, 'action' => 'edit'), $edit_url);
     $response['success'] = true;
     $response['data'] = array('post_id' => $post, 'permalink' => get_permalink($post), 'edit_url' => $edit_url);
     wp_send_json($response);
 }