Añadir un post desde el frontend con imagen destacada

Esta semana me he encontrado con un problema:
Un cliente nos pidió que sus usuarios de BuddyPress pudiesen publicar post desde el frontend, sin tener que entrar el backend.
Estos post tienen que permitir añadir links, videos e imagen destacada.
Creamos los Custom Post Types (CPT) necesarios y les añadimos un formulario a la página donde se mostrarían los loops de cada CPT para poder añadir post nuevos por los usuarios.
El mayor reto fue poder insertar las imágenes en los post.