
📄 Come incorporare un file HTML in una pagina WordPress: il plugin Include Me
Abbiamo creato un modulo di contatto in un file .html separato, scritto uno script di report in PHP e l'editor di WordPress corrompe il codice a ogni salvataggio? Un dolore familiare per chiunque vada oltre il builder a blocchi standard.
Include Me risolve questo compito con una singola riga di shortcode: include un file HTML/PHP esterno o il contenuto di un altro articolo direttamente nel corpo del post. Il plugin è presente nella directory WordPress.org con oltre 4.000 installazioni attive, una valutazione di 4,8 e aggiornamenti per WP 6.9.4. L'autore, Stefano Lissa, è il creatore di Newsletter e Hyper Cache.
Di seguito un'analisi completa: dall'installazione al passaggio di variabili agli script PHP e alla modalità iframe sicura.
💡 Panoramica rapida:
- Installa Include Me dalla directory WordPress.org (Plugin → Aggiungi nuovo, cerca "Include Me").
- Carica il tuo file HTML/PHP di destinazione nella cartella
/wp-content/include-me/sul server. - Inserisci lo shortcode
[includeme file="your-file.html"]dove ti serve in un articolo o pagina. - Per i file PHP: il plugin eseguirà lo script e restituirà il risultato. Per l'HTML, lo inserisce così com'è.
- In alternativa, includi un altro articolo WordPress tramite
post_ido un URL esterno tramite la sintassi iframe.
Cos'è Include Me e quando ti serve
Include Me è un plugin leggero (poche righe di codice, secondo l'autore) che risolve un compito specifico: inserire un file esterno nel corpo di un articolo o pagina WordPress tramite shortcode.
Quando ti serve nella pratica:
- Moduli e calcolatori. Hai scritto un modulo HTML con CSS e JS e l'editor a blocchi corrompe il markup ogni volta che passi dalla modalità visiva a quella testo. Include Me inserisce il file byte per byte, senza toccare nulla.
- Report PHP. Uno script recupera dati dal database, costruisce una tabella e produce HTML. Include Me esegue il PHP e mostra il risultato dentro l'articolo senza modificare il tema.
- Blocchi condivisi. Lo stesso file (tabella prezzi, disclaimer, blocco contatti) deve apparire su una dozzina di pagine. Modifichi il file una volta e si aggiorna ovunque automaticamente.
- Contenuto da un altro articolo. Hai incluso testo da un'altra pagina tramite
post_ide rimane sincronizzato: modifichi in un punto, visualizzi ovunque.
Il vantaggio principale rispetto a un template personalizzato del tema: quando cambi tema, i tuoi file restano al loro posto. Il tema cambia, il contenuto vive in modo indipendente.
Installazione e primo avvio
L'installazione è standard, tramite il pannello di amministrazione di WordPress:
- Plugin → Aggiungi nuovo.
- Nel campo di ricerca, digita "Include Me".
- Trova il plugin di Stefano Lissa, clicca Installa ora → Attiva.
Dopo l'attivazione, il plugin è pronto all'uso senza schermate di impostazioni. Tutta la "configurazione" si fa tramite la sintassi dello shortcode.
Percorso file predefinito: /wp-content/include-me/. Carica i file che intendi includere in questa cartella. Se ti serve una directory diversa, aggiungi a wp-config.php:
1 define('INCLUDE_ME_DIR', '/path/to/your/folder');
Se vuoi includere file da qualsiasi punto del server, imposta un asterisco (ma è più sicuro limitarsi a una cartella):
1 define('INCLUDE_ME_DIR', '*');
Importante limitazione di sicurezza: a partire dalla versione 1.3.0, lo shortcode [includeme] viene eseguito solo negli articoli di proprietà di un amministratore. I file vengono cercati per impostazione predefinita all'interno della cartella root del sito (ABSPATH e sottocartelle). Non è un bug ma una salvaguardia: Include Me esegue codice PHP e non dovresti dare questa capacità a chiunque.
Sintassi di base: inclusione di file HTML e PHP

Lo shortcode principale è [includeme file="filename"]. Funziona in qualsiasi articolo, pagina o widget (tramite do_shortcode).
Esempio 1: file HTML. Hai preparato price-table.html con layout e stili per i prezzi. L'hai caricato in /wp-content/include-me/. Nell'articolo scrivi:
1 [includeme file="price-table.html"]
Il plugin legge il file e inserisce il suo contenuto esattamente dove è posizionato lo shortcode. Un tag <style> dentro il file funziona. Il JS inline funziona. Nessuna "sanificazione" del markup.
Esempio 2: script PHP. Il file report.php esegue una SELECT dal database e produce una tabella. L'estensione .php è il trigger per Include Me: il plugin non si limita a leggere il file ma lo esegue tramite include. L'output dello script (echo/print) finisce nell'articolo:
1 [includeme file="report.php"]
Esempio 3: percorso relativo. Un percorso senza slash iniziale (file="myfolder/data.html") è relativo alla root del sito (ABSPATH). Un percorso assoluto (file="/var/www/external/widget.html") parte dalla root del filesystem del server. Nella maggior parte dei casi si usa un percorso relativo a un file dentro /wp-content/include-me/.
Includere un altro articolo o pagina tramite post_id
Gli sviluppatori di Include Me hanno aggiunto la sintassi per recuperare il contenuto da un articolo WordPress esistente. Lo shortcode:
1 [includeme post_id="42"]
Dove 42 è l'ID numerico dell'articolo o pagina desiderata. Come trovare l'ID: nel pannello di amministrazione, passa il mouse sul link "Modifica" dell'articolo desiderato e vedrai post=42 nella barra di stato del browser.
Questa tecnica è comoda per le pagine legali. Privacy policy o termini di utilizzo sono spesso duplicati: un'istanza nella pagina "madre", le altre usano Include Me con post_id. L'avvocato modifica il testo in un punto e si aggiorna ovunque.
Nota: viene recuperato solo il contenuto dell'articolo, non il titolo. Se ti serve anche il titolo, dovrai duplicarlo dentro il contenuto o usare [includeme file="..."] con uno script PHP che richiama get_post().
Modalità iframe: incorporare un URL esterno
La terza sintassi genera un <iframe> invece dell'inclusione diretta:
1 [includeme src="https://example.com/widget"]
Qualsiasi attributo aggiuntivo viene passato all'<iframe> come attributo HTML:
1 [includeme src="https://example.com/widget" frameborder="0" width="600" height="450"]
Il risultato è un iframe completo con le dimensioni specificate. Questa è un'alternativa all'inclusione diretta per i casi in cui:
- Devi mostrare una pagina esterna come "finestra" dentro l'articolo.
- Il contenuto incluso deve vivere in un contesto isolato (CSS/JS propri che non entrano in conflitto con il tema).
- Devi incorporare un widget interattivo (calcolatore, mappa) che non deve essere eseguito nel contesto di WordPress.
Limitazione: la modalità iframe non esegue PHP; mostra semplicemente l'URL in un frame. Per codice lato server, usa file="...".
Passare variabili agli script PHP
La funzionalità più potente di Include Me è il passaggio di parametri dallo shortcode al file PHP incluso. Nello shortcode scrivi:
1 [includeme file="greeting.php" name="Alexey" plan="Pro"]
Dentro greeting.php, accedi agli attributi tramite l'array globale $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>";
Questo trasforma Include Me in un mini motore di template. Lo stesso file PHP genera output diversi in base agli attributi dello shortcode. Scenari pratici:
- Calcolatore di prezzi. Un singolo script
calc.phpricevebase_priceediscountdallo shortcode, mostrando calcoli diversi su pagine diverse. - Blocco personalizzato.
cta.phpaccettaheadingebutton_text, ogni articolo ha il proprio titolo e pulsante, ma lo scheletro HTML è condiviso. - Dashboard cliente.
client-stats.phpriceveclient_ide produce i dati per un cliente specifico da un CRM esterno.
Cosa non fa Include Me: limitazioni
Il plugin risolve un compito circoscritto e non cerca di essere un coltellino svizzero. Svantaggi da conoscere prima dell'installazione:
- Solo amministratori. Lo shortcode funziona solo negli articoli scritti da un amministratore. Autori ed editor non possono usare Include Me; questa è una restrizione di sicurezza intenzionale (versione 1.2.2+).
- Nessun editor visuale. Nessuna UI nel pannello di amministrazione: il plugin non aggiunge un metabox per la selezione dei file. Tutto si fa manualmente tramite shortcode.
- L'estensione
.phpè obbligatoria per l'esecuzione. Un file chiamatoscript.inccon codice PHP NON verrà eseguito; il plugin lo inserirà come testo. Rinominalo inscript.php. - Nessuna cache. Ogni chiamata allo shortcode legge il file dal disco o esegue il PHP ex novo. Per pagine ad alto traffico con script pesanti, gestisci la cache dell'output autonomamente (tramite l'API Transients o un plugin di caching a livello di pagina).
⁉️🤔 Domande frequenti
Include Me funziona con le versioni moderne di WordPress?
Sì, il plugin è testato fino a WordPress 6.9.4 e richiede la versione 6.1 o superiore. L'ultimo aggiornamento (1.3.7) è stato rilasciato a febbraio 2026 e l'autore mantiene la compatibilità con ogni major release di WP.
È sicuro includere file PHP tramite shortcode?
Dalla versione 1.2.2, il plugin esegue file PHP solo da una cartella dentro la root del sito e solo per articoli di proprietà dell'amministratore. Questo impedisce l'esecuzione di codice arbitrario tramite XSS o sostituzione di URL. Inoltre, restringi la cartella tramite
define('INCLUDE_ME_DIR', '...')ed evita di usare'*'se non assolutamente necessario.
In cosa si differenzia Include Me dal plugin Insert Pages?
Insert Pages è focalizzato sull'inserimento di contenuti da altri articoli; ha un ricco set di opzioni di formattazione e wrapper. Include Me è più semplice e progettato per lavorare con i file: HTML, PHP, TXT. Se il tuo compito è solo recuperare un altro articolo, Insert Pages è più comodo. Se ti servono script PHP e file esterni, Include Me è la scelta giusta.
Posso inserire lo stesso file su dieci pagine?
Sì, è esattamente ciò per cui il plugin è stato progettato. Un file in
/wp-content/include-me/viene incluso tramite lo stesso shortcode su un numero qualsiasi di pagine. Modifichi il file e il contenuto si aggiorna ovunque all'istante, senza dover salvare nuovamente ogni articolo.
Perché il mio file PHP non produce alcun output?
Tre cause comuni: (1) il file non è nella cartella
INCLUDE_ME_DIRe il percorso non è corretto; (2) esiste un errore fatale nel codice PHP (controllaWP_DEBUGe i log del server); (3) il file è stato salvato con estensione.htmlo.incinvece di.php(Include Me esegue solo i.php).
Cosa succede se il plugin smette di ricevere aggiornamenti?
Include Me è composto da poche righe di codice (secondo l'autore) e non dipende da servizi esterni. Anche senza aggiornamenti, continuerà a funzionare per anni; la sua logica non è legata all'API REST di WP, ai blocchi o a funzionalità specifiche di Gutenberg. Il meccanismo di base degli shortcode di WordPress non è cambiato dalla versione 2.5.
Cosa fare se ti serve di più: alternative e passi successivi
Se Include Me non copre le tue esigenze, ecco due direzioni per espandere:
- Inserimento di articoli con formattazione: il plugin Insert Pages recupera contenuti da altri articoli con impostazioni di visualizzazione flessibili (titolo, estratto, wrapper personalizzato).
- Motore PHP completo: il plugin WPCode (ex Insert Headers and Footers) ti permette di inserire snippet PHP globalmente o condizionalmente, con evidenziazione della sintassi e controllo degli errori.
Inizia con Include Me: per il tipico compito di "inserire un file esterno in un articolo", è più che sufficiente. E se hai già usato questo plugin o risolto un compito simile in modo diverso, condividi nei commenti quale strumento hai scelto.



