Primero que nada debes tener conocimientos en HTML y CSS para maquetar la plantilla del theme y lograr lo que quieres. Luego, Javascript y en su defecto Frameworks como Jquery para darle un aspecto más amigable y una buena experiencia del lado del cliente. Debes tener conocimientos de PHP un poco intermedios-avanzados y los más importante: todo el procedimiento para hacer tu theme dinámico con tecnología WordPress. ¿qué hice yo para aprender? Bueno, compré un curso profesional enfocado a todo lo de Wordpress , pero te recomiendo, si no tienes dinero, buscar tutoriales que veo hay muchos aunque es más tedioso. Pero primero, comienza con ver la arquitectura, el orden de los archivos, como deben llamarse, como editar tu style.css para que se reconozca tu theme en el área de administración, como crear menús dinámicos, sidebars, el loop para mostrar las entradas y qué alcance tiene cada archivo. La verdad es que como comento buscar estas cosas es algo tedioso pero se puede, porque gratis, todo junto, lo dudo. Un saludo.