Используйте:
set_post_thumbnail() - устанавливает миниатюру записи по переданным ID записи и ID вложения (медиафайла). Если указанного вложения нет в базе данных, то функция удалит миниатюру записи.
Custom fields это post meta используйте соответствующую функцию.
update_post_meta() - обновляет произвольное поле указанного поста или добавляет новое.
По ссылкам есть примеры применения функций и более подробное описание их работы.