<?php
// Import the posts
function vimport_do_import() {
global $wpdb;
$table_name = $wpdb->prefix . 'vimports';
// Get post types
$posttypes = get_post_types( $args, 'objects' );
// Import
$errors = false;
if( isset( $_POST['vimport_post_type'] ) && ! empty( $_POST['vimport_post_type'] ) ) {
$vipost_type = $_POST['vimport_post_type'];
} else {
$errors = true;
}
if( isset( $_POST['vimport_post_term'] ) ) {
$viterm = $_POST['vimport_post_term'];
}
if( isset( $_POST['vimport_post_taxonomy'] ) ) {
$vitax = $_POST['vimport_post_taxonomy'];
}
if( isset( $_POST['vimport_variables'] ) && ! empty( $_POST['vimport_variables'] ) ) {
$vivariables = $_POST['vimport_variables'];
} else {
$errors = true;
}
if( isset( $_POST['vimport_post_title'] ) && ! empty( $_POST['vimport_post_title'] ) ) {
$vipost_title = $_POST['vimport_post_title'];
} else {
$errors = true;
}
if( isset( $_POST['vimport_post_custom_field_key'] ) ) {
$vipost_cf_key = $_POST['vimport_post_custom_field_key'];
}
if( isset( $_POST['vimport_post_custom_field_value'] ) ) {
$vipost_cf_value = $_POST['vimport_post_custom_field_value'];
}
if( isset( $_POST['vimport_post_meta_title'] ) ) {
$vipost_meta_title = $_POST['vimport_post_meta_title'];
}
if( isset( $_POST['vimport_post_meta_description'] ) ) {
$vipost_meta_description = $_POST['vimport_post_meta_description'];
}
if( isset( $_POST['vimport_post_content'] ) ) {
$vipost_content = $_POST['vimport_post_content'];
}
if( ! $errors ) {
// Generate import key
if( empty( $_POST['vimport_save_import'] ) ) {
$import_select_id = $_POST['vimport_select_import'];
$import_key = $wpdb->get_var( "SELECT import_key FROM wp_vimports WHERE id = $import_select_id LIMIT 1" );
} else {
$import_key = rand( 1000000000, 9999999999 );
}
// Save import data
if( isset( $_POST['vimport_save_import'] ) ) {
if( $_POST['vimport_save_name'] && ! empty( $_POST['vimport_save_name'] ) ) {
$import_name = $_POST['vimport_save_name'];
$wpdb->insert(
$wpdb->prefix . 'vimports',
array(
'import_name' => $import_name,
'post_title' => $vipost_title,
'post_type' => $vipost_type,
'taxonomy' => $vitax,
'term' => $viterm,
'meta_field_key' => $vipost_cf_key,
'meta_field_val' => $vipost_cf_value,
'post_meta_title' => $vipost_meta_title,
'post_meta_desc' => $vipost_meta_description,
'post_content' => wpautop( stripslashes( $vipost_content ) ),
'import_key' => $import_key,
)
);
}
}
// Explode each line into array
$lines = explode( "\n", str_replace( '\r', '', $vivariables ) );
foreach( $lines as $line ) {
$line = trim( $line );
// Replace variable
$new_vipost_title = str_replace( '%%variable%%', $line, $vipost_title );
$new_vipost_content = str_replace( '%%variable%%', $line, $vipost_content );
if( yoast_seo_check() ) {
$new_vipost_meta_title = str_replace( '%%variable%%', $line, $vipost_meta_title );
$new_vipost_meta_description = str_replace( '%%variable%%', $line, $vipost_meta_description );
}
// Import post
$args = array(
'post_title' => $new_vipost_title,
'post_content' => $new_vipost_content,
'post_status' => 'publish',
'post_type' => $vipost_type,
);
$post_id = wp_insert_post( $args );
// Custom field
if( $vipost_cf_key && $vipost_cf_value )
update_post_meta( $post_id, $vipost_cf_key, $vipost_cf_value );
// Import key
update_post_meta( $post_id, 'vimport_key', $import_key );
if( yoast_seo_check() ) {
update_post_meta( $post_id, '_yoast_wpseo_title', $new_vipost_meta_title );
update_post_meta( $post_id, '_yoast_wpseo_metadesc', $new_vipost_meta_description );
}
// Set term if isset
if( $vitax && $viterm )
wp_set_object_terms( $post_id, $viterm, $vitax, false );
}
} else {
$_POST['errors'] = true;
}
}
?>