Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

📄 Come incorporare un file HTML in una pagina WordPress: il plugin Include Me

📄 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_id o 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_id e 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 oraAttiva.

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:

1define('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):

1define('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

Esempio di inserimento di un file HTML tramite il plugin Include Me

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
5echo "<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.php riceve base_price e discount dallo shortcode, mostrando calcoli diversi su pagine diverse.
  • Blocco personalizzato. cta.php accetta heading e button_text, ogni articolo ha il proprio titolo e pulsante, ma lo scheletro HTML è condiviso.
  • Dashboard cliente. client-stats.php riceve client_id e 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 chiamato script.inc con codice PHP NON verrà eseguito; il plugin lo inserirà come testo. Rinominalo in script.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_DIR e il percorso non è corretto; (2) esiste un errore fatale nel codice PHP (controlla WP_DEBUG e i log del server); (3) il file è stato salvato con estensione .html o .inc invece 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.