Но проблема в том что берется текущее время, мне же нужно сделать так чтобы использовалась дата загрузки который я передаю при загрузке скриптом python.
Ну так замените current_time( 'mysql' ) на переданное из питона значение. #тыжепрограммист
Информация к размышлению: как правило у php-cli нет лимита на время выполнения, а у curl нет лимита на размер файла (у ОС - есть). Я так импортировал 2GB xml в базу mysql (правда от php в конце концов пришлось отказаться - тормоз жуткий). К сожалению, не всякий шаред-хостинг подпустит к шеллу.
Если код вводить в консольном режиме (php -a), то будет обрабатываться построчно, как и положено классическому интерпретатору. Но для работы с http к php прикручен прекомпилятор в байт-код и OPcache - всё ради эффективности.
У Вас стоит проверка существования по слагу, а insert делается с жестко заданным id. Даже если бы таблица wp_terms содержала только импортируемые данные (что не так), такая проверка, по большому счету, некорректна.
Таблица wp_term_relationships связывает записи (object_id) с термами (term_taxonomy_id), а Вы зачем-то пытаетесь туда внести $parent - id родительского терма.