Wp_update_post очищает post_name

Мне нужо изменить статус публикации. Делаю

wp_update_post( array(
	'ID' => $my_post_id,
	'post_status' => 'pending',
));

Статус меняется, но в итоге очищается поле post_name (до этого у него есть значение)

Если делаю так

wp_update_post( array(
	'ID' => $my_post_id,
	'post_status' => 'pending',
	'post_name' => 'mypostname',
));

всё равно post_name пустое

Почему так и как быть?

ДОБАВЛЕНО:
Если написать 'post_status' => 'publish', то post_name будет не пустое, а сгенерируется заново из заголовка. Но это тоже не то, что нужно, т.к. исходное post_name отличалось от того, что было в заголовке

Заметки к вопросу:
campusboy 2 года назад

Так работает движок, post_name имеют опубликованные записи (и система следит за их уникальностью), а другие статусы нет (система убирает у них post_name, чтобы освободить для других в будущем опубликованных записей, вдруг у них такой же заголовок будет). Это я абстрактно описал.