Cómo usar Include en WordPress para traer archivos PHP de diferentes carpetas

Hace unos días estaba haciendo un proyecto para un cliente que por la estructura de su esquema, tendría que tener mi código bien organizado en diferentes carpetas pero que de cierta manera muchos archivos se tendrían que llamar en varias oportunidades.

Si bien hacer esto en código puro PHP resulta fácil, en esta oportunidad el trabajo que estaba realizando estaba montado sobre WordPress, el cual como punto de partido del PATH debería ser el Theme activo.

Por tal motivo decidí documentar esta solución leve en un blog y espero que si llegó hasta aquí, le pueda servir en algún momento.

Manos al código…

1- Imaginemos que tenemos un theme que se llame /theme-vip/

2- En el theme hay un directorio llamado /modulos/ que contiene un archivo llamado twitter.php.

3- Adicionalmente en el directorio /theme-vip/ tenemos otro directorio llamado /paginas/ y que existe un archivo que se llama feed.php

Teniendo en cuenta el flujo anterior, necesitamos en el archivo feed.php incluir un archivo de la carpeta módulos. Dicho archivo se llama twitter.php

Para los que estén familiarizados con CSS por ejemplo, entienden que se podría navegar en las carpetas usando ../ y luego ingresar a la carpeta correcta y llamar el archivo correspondiente. Pues bueno, en WordPress no te funcionará de esa forma.

Para hacerlo en WordPress lo primero que tenemos es usar la función universal de PHP llamada include. En segundo lugar, deberemos usar la función WP llamada TEMPLATEPATH que básicamente lo que hará es situarnos justo en la carpeta del theme activo en el WordPress. Luego tendremos que concatenar la ruta del archivo que estaremos incluyendo en nuestro proyecto.

En este orden de ideas, vamos a suponer que que estamos trabajando el archivo feed.php y necesitamos insertar el archivo twitter.php que se encuentra en el directorio /modulos/ en la carpeta raíz de nuestro proyecto o theme WordPress.

include TEMPLATEPATH . '/modulos/twitter.php'

Con este código anterior estamos trayendo todo el código que se encuentra en /modulos/twitter.php para mostrarse en el archivo que se encuentra en /paginas/feed.php