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