/**
  * Create post from $args data
  * @param  array $args Custom data
  * @return boolean True if the post was created successfully, and False if not.
  */
 public function moove_create_post($args)
 {
     $form_data = $args['form_data'];
     $key = json_decode(wp_unslash($args['key']));
     $xml_data_values = $args['value'];
     $new_form_data = array();
     foreach ($form_data as $form_key => $form_value) {
         if ($form_value !== '0' && $form_key !== 'post_status' && $form_key !== 'post_type' && $form_key !== 'post_author' && $form_key !== 'post_featured_image') {
             if ($form_key === 'taxonomies' && count($form_value)) {
                 $j = 0;
                 foreach ($form_value as $tax_key => $tax_value) {
                     if ($tax_value['title'] !== '0') {
                         $j++;
                         $_key = Moove_Importer_Controller::moove_recursive_array_search($tax_value['title'], $xml_data_values['values']);
                         if (is_array($_key)) {
                             $tax_title = $xml_data_values['values'][$_key[0]]['value'];
                         }
                         $new_form_data[$form_key][] = array('taxonomy' => $tax_value['taxonomy'], 'title' => $tax_title);
                     }
                 }
             } elseif ($form_key === 'post_date') {
                 $_key = Moove_Importer_Controller::moove_recursive_array_search($form_value, $xml_data_values['values']);
                 if (is_array($_key)) {
                     $new_form_data[$form_key] = DateTime::createFromFormat("D, d M Y H:i:s O", $xml_data_values['values'][$_key[0]]['value'])->format('Y-m-d H:i:s');
                 }
             } else {
                 $_key = Moove_Importer_Controller::moove_recursive_array_search($form_value, $xml_data_values['values']);
                 if (is_array($_key)) {
                     $new_form_data[$form_key] = $xml_data_values['values'][$_key[0]]['value'];
                 }
             }
         } else {
             if ($form_key === 'post_status' || $form_key === 'post_type') {
                 $new_form_data[$form_key] = $form_value;
             } elseif ($form_key === 'post_author') {
                 $new_form_data[$form_key] = intval($form_value);
             }
         }
     }
     // Create post object.
     $new_post = array();
     foreach ($new_form_data as $form_key => $form_value) {
         $new_post[$form_key] = $form_value;
     }
     // Insert the post into the database.
     $post_id = wp_insert_post($new_post);
     foreach ($new_form_data['taxonomies'] as $taxonomy_value) {
         if ($taxonomy_value['title'] !== "0") {
             $title = $taxonomy_value['title'];
             $taxonomy = $taxonomy_value['taxonomy'];
             $slug = sanitize_title($taxonomy_value['title']);
             wp_set_post_terms($post_id, $slug, $taxonomy, true);
             $_new_taxonomy = get_term_by('name', $slug, $taxonomy);
             wp_update_term($_new_taxonomy->term_id, $taxonomy, array('name' => $title, 'slug' => $slug));
         }
     }
     Moove_Importer_Controller::moove_set_featured_image($post_id, $new_form_data['post_featured_image']);
     return $post_id ? true : false;
 }
 /**
  * Create post function
  *
  * @return void
  */
 public function moove_create_post()
 {
     $args = array('key' => sanitize_text_field(esc_sql($_POST['key'])), 'value' => wp_unslash($_POST['value']), 'form_data' => esc_sql(wp_unslash($_POST['form_data'])));
     $move_create_post = new Moove_Importer_Controller();
     $create_post = $move_create_post->moove_create_post($args);
     echo $create_post;
     die;
 }