На счет базы не подскажу, но вы можете воспользоваться нативными функциями
get_posts()
и
wp_insert_post()
// получаем данные исходного поста по слагу
$post_slug = '1543';
$args = array( 'name' => $post_slug, 'post_type' => 'post', 'post_status' => 'publish, draft, future', 'numberposts' => 1 );
$post = get_posts($args)[0];
for ( $i = 1; $i < 2771; $i++ ) {
// Создаем массив данных новой записи
$post_data = array(
'ID' => $post->ID++,
'post_title' => $post->post_title,
'post_name' => $post_slug . '-' . $i,
'post_date' => $post->post_date,
'post_date_gmt' => $post->post_date_gmt,
'post_content' => $post->post_content,
'post_status' => 'publish',
'post_type' => 'post',
'post_author' => 1,
);
// Вставляем запись в базу
$post_id = wp_insert_post( wp_slash( $post_data ) );
// пишем ошибку/успех
if( is_wp_error( $post_id ) ) {
var_dump( 'Ошибка инсерта поста ' . $post->post_title . ' таксономии category: ' . $post_id->get_error_message() );
} else {
var_dump( 'Пост ' . $post->post_title . ' таксономии category опубликован удачно!' );
//wp_set_object_terms( $post_id, 'cat_id', 'category' ); // если нужно назначить категорию, заменить cat_id
}
}
Поменяйте слаги на нужные, я так и на понял какие вам нужны