
📄 Cómo incrustar un archivo HTML en una página de WordPress: el plugin Include Me
Construimos un formulario de contacto en un .html separado, escribimos un script de informes en PHP, ¿y el editor de WordPress corrompe el código en cada guardado? Un dolor familiar para cualquiera que vaya más allá del constructor de bloques estándar.
Include Me resuelve esta tarea con una sola línea de shortcode: incluye un archivo externo HTML/PHP o el contenido de otra entrada directamente en el cuerpo de la entrada. El plugin está en el directorio de WordPress.org con más de 4.000 instalaciones activas, una valoración de 4,8 y actualizaciones para WP 6.9.4. El autor, Stefano Lissa, es el creador de Newsletter e Hyper Cache.
A continuación, un desglose completo: desde la instalación hasta el paso de variables a scripts PHP y el modo iframe seguro.
💡 Resumen rápido:
- Instale Include Me desde el directorio de WordPress.org (Plugins → Añadir nuevo, busque «Include Me»).
- Suba su archivo HTML/PHP de destino a la carpeta
/wp-content/include-me/en el servidor. - Inserte el shortcode
[includeme file="your-file.html"]donde lo necesite en una entrada o página. - Para archivos PHP: el plugin ejecutará el script y mostrará el resultado. Para HTML, lo inserta tal cual.
- Alternativamente, incluya otra entrada de WordPress mediante
post_ido una URL externa mediante la sintaxis iframe.
Qué es Include Me y cuándo lo necesita
Include Me es un plugin ligero (solo unas pocas líneas de código, según el autor) que resuelve una tarea específica: insertar un archivo externo en el cuerpo de una entrada o página de WordPress mediante shortcode.
Cuándo necesita esto en la práctica:
- Formularios y calculadoras. Escribió un formulario HTML con CSS y JS, y el editor de bloques corrompe el marcado cada vez que cambia entre el modo visual y el de texto. Include Me inserta el archivo byte a byte, sin tocar nada.
- Informes PHP. Un script extrae datos de la base de datos, construye una tabla y genera HTML. Include Me ejecuta el PHP y muestra el resultado dentro de la entrada sin editar el tema.
- Bloques compartidos. El mismo archivo (tabla de precios, aviso legal, bloque de contacto) necesita aparecer en una docena de páginas. Edite el archivo una vez y se actualiza en todas partes automáticamente.
- Contenido de otra entrada. Incluyó texto de otra página mediante
post_idy se mantiene sincronizado: edite en un solo lugar, se muestra en todas partes.
La principal ventaja sobre una plantilla de tema personalizada: cuando cambie de tema, sus archivos permanecen en su lugar. El tema cambia, el contenido vive de forma independiente.
Instalación y primera ejecución
La instalación es estándar, a través del panel de administración de WordPress:
- Plugins → Añadir nuevo.
- En el campo de búsqueda, escriba «Include Me».
- Encuentre el plugin de Stefano Lissa, haga clic en Instalar ahora → Activar.
Tras la activación, el plugin está listo para usar sin pantallas de configuración. Toda la «configuración» se realiza mediante la sintaxis del shortcode.
Ruta de archivo predeterminada: /wp-content/include-me/. Suba los archivos que planee incluir a esta carpeta. Si necesita un directorio diferente, añada a wp-config.php:
1 define('INCLUDE_ME_DIR', '/path/to/your/folder');
Si desea incluir archivos desde cualquier lugar del servidor, establezca un asterisco (pero es más seguro restringirlo a una carpeta):
1 define('INCLUDE_ME_DIR', '*');
Limitación de seguridad importante: a partir de la versión 1.3.0, el shortcode [includeme] solo se ejecuta en entradas cuyo autor sea un administrador. Los archivos se buscan por defecto dentro de la carpeta raíz del sitio (ABSPATH y niveles inferiores). Esto no es un error, sino una salvaguarda: Include Me ejecuta código PHP y no debería dar esa capacidad a cualquiera.
Sintaxis básica: inclusión de archivos HTML y PHP

El shortcode principal es [includeme file="filename"]. Funciona en cualquier entrada, página o widget (mediante do_shortcode).
Ejemplo 1: Archivo HTML. Preparó price-table.html con el diseño de precios y estilos. Lo subió a /wp-content/include-me/. En la entrada, escribe:
1 [includeme file="price-table.html"]
El plugin lee el archivo e inserta su contenido exactamente donde se coloca el shortcode. Una etiqueta <style> dentro del archivo funciona. El JS en línea funciona. Sin «sanitización» del marcado.
Ejemplo 2: Script PHP. El archivo report.php ejecuta un SELECT de la base de datos y genera una tabla. La extensión .php es el disparador para Include Me: el plugin no solo lee el archivo, sino que lo ejecuta mediante include. La salida del script (echo/print) va a la entrada:
1 [includeme file="report.php"]
Ejemplo 3: Ruta relativa. Una ruta sin barra inicial (file="myfolder/data.html") es relativa a la raíz del sitio (ABSPATH). Una ruta absoluta (file="/var/www/external/widget.html") comienza desde la raíz del sistema de archivos del servidor. En la mayoría de los casos, usará una ruta relativa a un archivo dentro de /wp-content/include-me/.
Inclusión de otra entrada o página mediante post_id
Los desarrolladores de Include Me añadieron sintaxis para extraer contenido de una entrada de WordPress existente. El shortcode:
1 [includeme post_id="42"]
Donde 42 es el ID numérico de la entrada o página deseada. Cómo encontrar el ID: en el panel de administración, pase el cursor sobre el enlace «Editar» de la entrada deseada y verá post=42 en la barra de estado del navegador.
Esta técnica es conveniente para páginas legales. Las políticas de privacidad o los términos de uso a menudo se duplican: una instancia en la página «principal», el resto usa Include Me con post_id. El abogado edita el texto en un solo lugar y se actualiza en todas partes.
Nota: solo se extrae el contenido de la entrada, no el título. Si también necesita el título, tendrá que duplicarlo dentro del contenido o usar [includeme file="..."] con un script PHP que llame a get_post().
Modo iframe: incrustación de una URL externa
La tercera sintaxis genera un <iframe> en lugar de una inclusión directa:
1 [includeme src="https://example.com/widget"]
Cualquier atributo adicional se pasa al <iframe> como atributos HTML:
1 [includeme src="https://example.com/widget" frameborder="0" width="600" height="450"]
El resultado es un iframe completo con las dimensiones especificadas. Esta es una alternativa a la inclusión directa para casos en los que:
- Necesita mostrar una página externa como una «ventana» dentro de la entrada.
- El contenido incluido debe vivir en un contexto aislado (su propio CSS/JS que no entre en conflicto con el tema).
- Necesita incrustar un widget interactivo (calculadora, mapa) que no debe ejecutarse en el contexto de WordPress.
Limitación: el modo iframe no ejecuta PHP; simplemente muestra la URL en un marco. Para código del lado del servidor, use file="...".
Paso de variables a scripts PHP
La característica más potente de Include Me es el paso de parámetros desde el shortcode al archivo PHP incluido. En el shortcode, escriba:
1 [includeme file="greeting.php" name="Alexey" plan="Pro"]
Dentro de greeting.php, accede a los atributos mediante el array global $attrs:
1 <?php 2 $user_name = $attrs['name'] ?? 'Guest'; 3 $user_plan = $attrs['plan'] ?? 'Free'; 4 5 echo "<p>Hello, {$user_name}! Your plan: {$user_plan}.</p>";
Esto convierte a Include Me en un mini motor de plantillas. El mismo archivo PHP genera una salida diferente según los atributos del shortcode. Escenarios prácticos:
- Calculadora de precios. Un único script
calc.phprecibebase_priceydiscountdel shortcode, mostrando diferentes cálculos en diferentes páginas. - Bloque personalizado.
cta.phpaceptaheadingybutton_text, cada entrada tiene su propio titular y botón, pero el esqueleto HTML es compartido. - Panel de cliente.
client-stats.phprecibeclient_idy genera datos para un cliente específico desde un CRM externo.
Lo que Include Me no hace: limitaciones
El plugin resuelve una tarea concreta y no intenta ser una navaja suiza. Inconvenientes que vale la pena conocer antes de la instalación:
- Solo administradores. El shortcode funciona solo en entradas cuyo autor sea un administrador. Los autores y editores no pueden usar Include Me; esta es una restricción de seguridad intencionada (versión 1.2.2+).
- Sin editor visual. No hay interfaz de usuario en el panel de administración: el plugin no añade un metabox para la selección de archivos. Todo se hace manualmente mediante shortcode.
- Se requiere la extensión
.phppara la ejecución. Un archivo llamadoscript.inccon código PHP NO se ejecutará; el plugin lo insertará como texto. Cámbiele el nombre ascript.php. - Sin caché. Cada llamada al shortcode lee el archivo del disco o ejecuta el PHP de nuevo. Para páginas de alto tráfico con scripts pesados, almacene en caché la salida usted mismo (mediante la API de Transients o un plugin de caché a nivel de página).
⁉️🤔 Preguntas frecuentes
¿Funciona Include Me con versiones modernas de WordPress?
Sí, el plugin está probado hasta WordPress 6.9.4 y requiere la versión 6.1 o superior. La última actualización (1.3.7) se publicó en febrero de 2026 y el autor mantiene la compatibilidad con cada versión principal de WP.
¿Es seguro incluir archivos PHP mediante shortcode?
Desde la versión 1.2.2, el plugin ejecuta archivos PHP solo desde una carpeta dentro de la raíz del sitio y solo para entradas cuyo autor sea un administrador. Esto evita la ejecución de código arbitrario mediante XSS o sustitución de URL. Además, restrinja la carpeta mediante
define('INCLUDE_ME_DIR', '...')y evite usar'*'a menos que sea absolutamente necesario.
¿En qué se diferencia Include Me del plugin Insert Pages?
Insert Pages se centra en insertar contenido de otras entradas; tiene un rico conjunto de opciones de formato y envoltura. Include Me es más simple y está diseñado para trabajar con archivos: HTML, PHP, TXT. Si su tarea es solo extraer otra entrada, Insert Pages es más conveniente. Si necesita scripts PHP y archivos externos, Include Me es la elección.
¿Puedo insertar el mismo archivo en diez páginas?
Sí, eso es exactamente para lo que está diseñado el plugin. Un archivo en
/wp-content/include-me/se incluye mediante el mismo shortcode en cualquier número de páginas. Edite el archivo y el contenido se actualiza en todas partes al instante sin necesidad de volver a guardar cada entrada.
¿Por qué mi archivo PHP no genera ninguna salida?
Tres razones comunes: (1) el archivo no está en la carpeta
INCLUDE_ME_DIRy la ruta es incorrecta; (2) existe un error fatal en el código PHP (reviseWP_DEBUGy los registros del servidor); (3) el archivo se guardó con una extensión.htmlo.incen lugar de.php(Include Me solo ejecuta.php).
¿Qué pasa si el plugin deja de recibir actualizaciones?
Include Me consta de solo unas pocas líneas de código (según el autor) y no depende de servicios externos. Incluso sin actualizaciones, seguirá funcionando durante años; su lógica no está vinculada a la API REST de WP, bloques o características específicas de Gutenberg. El mecanismo básico de shortcode de WordPress no ha cambiado desde la versión 2.5.
Qué hacer si necesita más: alternativas y próximos pasos
Si Include Me no cubre sus necesidades, aquí tiene dos direcciones para expandirse:
- Inserción de entradas con formato: el plugin Insert Pages extrae contenido de otras entradas con opciones de visualización flexibles (título, extracto, envoltura personalizada).
- Motor PHP completo: el plugin WPCode (anteriormente Insert Headers and Footers) le permite insertar fragmentos PHP de forma global o condicional, con resaltado de sintaxis y control de errores.
Comience con Include Me: para la tarea típica de «insertar un archivo externo en una entrada», es más que suficiente. Y si ya ha usado este plugin o resolvió una tarea similar de manera diferente, comparta en los comentarios qué herramienta eligió.



