Закидывать на прямую нельзя, можно конечно, но возможно всякое не приятное, поскольку при добавлении записи происходит много всего
Вот так потестите сколько максимально и за один проход записей стандартными средствами можете закинуть. тут все есть кроме подтянуть миниатюру.
<?php
/**
* @package TAXO CRM
* @author WP_Panda
* @version 0.2.1
*/
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
$metas = [
'key_1' => 1,
'key_2' => 1,
'key_3' => 1,
'key_3' => 1
];
$post_data = [
'post_content' => 'Контент контент контент',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => [ 8, 39 ]
];
$start = microtime(true);
$i = 1;
while ( $i <= 1000 ) {
$post_data[ 'post_title' ] = 'Запись ' . $i;
$post_id = wp_insert_post( $post_data );
foreach ( $metas as $meta_key => $meta_val ) {
update_post_meta( $post_id, $meta_key, $meta_val );
}
$i ++;
}
$time = microtime(true) - $start;
printf( 'Время выполнения: %s мс', $time );
У меня 1000 на слабом шареде залетела за 24 секунды.
Соответственно с учетом того, что ваш файл в 99 раз больше позиций содержит, оборачиваете это например в аякс обработчик в котором будет указание какие строки лить, ибо 99к за раз многовато и надо будет поступательно, соответственно минут за 40-45 зальется у вас все
Если вместо
update_post_meta
использовать
add_metadata
Будет еще быстрее