Antes de comenzar conviene tener clara la diferencia entre un tema hijo y un tema desde cero.
Temas hijo y temas desde cero
En primer lugar hay dos conceptos diferentes: Un tema hijo y un tema desde cero. Para hacer un tema desde cero sólo necesitamos crear una subcarpeta en themes ponerle el nombre de nuestro tema desde cero y añadir un archivo llamado style.css que puede estar también vacío y contener sólo estas líneas.
/*
Theme Name: Nombre tema desde cero
Theme URI: https://wordpress.org/themes/temacero/
Text Domain: temacero
*/
El inconveniente de un tema desde cero es que perdemos todos los formatos, cabeceras, estilos, etc. La ventaja es que es muy ligero y podemos hacer con él lo que queramos.
Nota: los nombres de los archivos y las URL´s son muy importantes en Wordpress, así por ejemplo si creamos uno llamado page-contacto.php Wordpress lo buscará si no encuentra nada en page.php y lo mostrará si ponemos en el navegador una url del estilo localhost/wordpress/contacto si el nombre del archivo es diferente no funcionará)
si ponemos localhost/wordpress en el navegador, se abrirá la página principal page.php pero no mostrará nuestro código del archivo anterior , para que lo muestre hay que forzarlo poniendo localhost/wordpress/contacto.
Otra alternativa son los temas hijo, en este caso copiamos el tema completo y lo renombramos como tema-child, en style.css tenemos que añadir una línea indicando quien es el tema padre.
@import url("../tema-padre/style.css");
La ventaja de este método es que conservamos todos los estilos y funcionalidades, el inconveniente, es que ocupa más.
No me voy a extender más porque hay mucha información en la web sobre cómo hacer temas hijo o temas desde cero, lo que nos interesa es una vez tenemos nuestro tema como añadirle funcionalidad y de eso ya sí que no hay nada en la web.
En nuestro caso hemos optado por un tema hijo para no perder funcionalidad.
Formularios en un tema hijo de WordPress
Lo primero que realizaremos será añadir un formulario a la página de inicio, para ello en WordPress elegiremos como página de inicio la home. Para ello tendremos que tener una página en blanco llamada Home en pages.