
📄 Slik bygger du inn en HTML-fil i en WordPress-side: Include Me-utvidelsen
Vi bygde et kontaktskjema i en separat .html-fil, skrev et rapportskript i PHP, og WordPress-editoren ødelegger koden hver gang du lagrer? En velkjent smerte for alle som går utover standard blokkbygger.
Include Me løser denne oppgaven med én enkelt shortcode-linje: den inkluderer en ekstern HTML/PHP-fil eller innholdet fra et annet innlegg direkte i innleggsteksten. Utvidelsen ligger i WordPress.org-katalogen med over 4 000 aktive installasjoner, en vurdering på 4,8 og oppdateringer for WP 6.9.4. Forfatteren, Stefano Lissa, er skaperen av Newsletter og Hyper Cache.
Nedenfor følger en fullstendig gjennomgang: fra installasjon til overføring av variabler til PHP-skript og sikker iframe-modus.
💡 Hurtigoversikt:
- Installer Include Me fra WordPress.org-katalogen (Utvidelser → Legg til ny, søk etter «Include Me»).
- Last opp mål-HTML/PHP-filen din til mappen
/wp-content/include-me/på serveren. - Sett inn shortcoden
[includeme file="your-file.html"]der du trenger den i et innlegg eller på en side. - For PHP-filer: utvidelsen vil kjøre skriptet og skrive ut resultatet. For HTML settes den inn som den er.
- Alternativt kan du inkludere et annet WordPress-innlegg via
post_ideller en ekstern URL via iframe-syntaks.
Hva er Include Me og når trenger du det
Include Me er en lettvektsutvidelse (bare noen få linjer med kode, ifølge forfatteren) som løser en spesifikk oppgave: å sette inn en ekstern fil i brødteksten til et WordPress-innlegg eller en side via shortcode.
Når du trenger dette i praksis:
- Skjemaer og kalkulatorer. Du skrev et HTML-skjema med CSS og JS, og blokkreditoren ødelegger markeringen hver gang du bytter mellom visuell modus og tekstmodus. Include Me setter inn filen byte for byte, uten å røre noe.
- PHP-rapporter. Et skript henter data fra databasen, bygger en tabell og sender ut HTML. Include Me kjører PHP-en og viser resultatet inne i innlegget uten å redigere temaet.
- Delte blokker. Den samme filen (pristabell, ansvarsfraskrivelse, kontaktblokk) må vises på et dusin sider. Rediger filen én gang, så oppdateres den overalt automatisk.
- Innhold fra et annet innlegg. Du inkluderte tekst fra en annen side via
post_id, og den holder seg synkronisert: rediger på ett sted, vis overalt.
Hovedfordelen sammenlignet med en egendefinert temamal: når du bytter tema, forblir filene dine på plass. Temaet endres, innholdet lever uavhengig.
Installasjon og første kjøring
Installasjonen er standard, via WordPress-administrasjonspanelet:
- Utvidelser → Legg til ny.
- I søkefeltet skriver du «Include Me».
- Finn utvidelsen av Stefano Lissa, klikk Installer nå → Aktiver.
Etter aktivering er utvidelsen klar til bruk uten innstillingsskjermer. All «konfigurasjon» gjøres via shortcode-syntaks.
Standard filbane: /wp-content/include-me/. Last opp filer du planlegger å inkludere til denne mappen. Hvis du trenger en annen mappe, legg til i wp-config.php:
1 define('INCLUDE_ME_DIR', '/path/to/your/folder');
Hvis du vil inkludere filer fra hvor som helst på serveren, sett en stjerne (men det er tryggere å begrense til én mappe):
1 define('INCLUDE_ME_DIR', '*');
Viktig sikkerhetsbegrensning: fra og med versjon 1.3.0 kjører shortcoden [includeme] bare i innlegg som eies av en administrator. Filer søkes som standard innenfor nettstedets rotmappe (ABSPATH og under). Dette er ikke en feil, men en sikkerhetsmekanisme: Include Me kjører PHP-kode, og du bør ikke gi den muligheten til hvem som helst.
Grunnleggende syntaks: inkludering av HTML- og PHP-filer

Hovedshortcoden er [includeme file="filename"]. Den fungerer i alle innlegg, sider eller widgeter (via do_shortcode).
Eksempel 1: HTML-fil. Du forberedte price-table.html med prislayout og stiler. Du lastet den opp til /wp-content/include-me/. I innlegget skriver du:
1 [includeme file="price-table.html"]
Utvidelsen leser filen og setter inn innholdet nøyaktig der shortcoden er plassert. En <style>-tagg inne i filen fungerer. Inline JS fungerer. Ingen «sanering» av markering.
Eksempel 2: PHP-skript. Filen report.php kjører en SELECT fra databasen og sender ut en tabell. Filtypen .php er utløseren for Include Me: utvidelsen leser ikke bare filen, men kjører den via include. Skriptets utdata (echo/print) går inn i innlegget:
1 [includeme file="report.php"]
Eksempel 3: Relativ bane. En bane uten innledende skråstrek (file="myfolder/data.html") er relativ til nettstedets rot (ABSPATH). En absolutt bane (file="/var/www/external/widget.html") starter fra serverens filsystemrot. I de fleste tilfeller bruker du en relativ bane til en fil inne i /wp-content/include-me/.
Inkludering av et annet innlegg eller en side via post_id
Include Me-utviklerne la til syntaks for å hente innhold fra et eksisterende WordPress-innlegg. Shortcoden:
1 [includeme post_id="42"]
Der 42 er den numeriske ID-en til ønsket innlegg eller side. Slik finner du ID-en: i administrasjonspanelet holder du musepekeren over «Rediger»-lenken til ønsket innlegg, så vil du se post=42 i nettleserens statuslinje.
Denne teknikken er praktisk for juridiske sider. Personvernerklæringer eller brukervilkår er ofte duplisert: én forekomst på «foreldre»-siden, resten bruker Include Me med post_id. Advokaten redigerer teksten på ett sted, og den oppdateres overalt.
Merk: bare innleggsinnholdet hentes, ikke tittelen. Hvis du også trenger tittelen, må du duplisere den inne i innholdet eller bruke [includeme file="..."] med et PHP-skript som kaller get_post().
Iframe-modus: innebygging av en ekstern URL
Den tredje syntaksen genererer en <iframe> i stedet for direkte inkludering:
1 [includeme src="https://example.com/widget"]
Eventuelle tilleggsattributter sendes til <iframe> som HTML-attributter:
1 [includeme src="https://example.com/widget" frameborder="0" width="600" height="450"]
Resultatet er en full iframe med de angitte dimensjonene. Dette er et alternativ til direkte inkludering for tilfeller der:
- Du trenger å vise en ekstern side som et «vindu» inne i innlegget.
- Det inkluderte innholdet må leve i en isolert kontekst (sin egen CSS/JS som ikke kommer i konflikt med temaet).
- Du trenger å bygge inn en interaktiv widget (kalkulator, kart) som ikke skal kjøres i WordPress-konteksten.
Begrensning: iframe-modus kjører ikke PHP; den viser bare URL-en i en ramme. For server-side-kode, bruk file="...".
Overføring av variabler til PHP-skript
Den kraftigste funksjonen i Include Me er å sende parametere fra shortcoden til den inkluderte PHP-filen. I shortcoden skriver du:
1 [includeme file="greeting.php" name="Alexey" plan="Pro"]
Inne i greeting.php får du tilgang til attributtene via den globale $attrs-matrisen:
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>";
Dette gjør Include Me til en mini-malmotor. Den samme PHP-filen genererer forskjellig utdata avhengig av shortcode-attributtene. Praktiske scenarioer:
- Priskalkulator. Ett enkelt
calc.php-skript mottarbase_priceogdiscountfra shortcoden, og viser forskjellige beregninger på forskjellige sider. - Personlig blokk.
cta.phpakseptererheadingogbutton_text, hvert innlegg har sin egen overskrift og knapp, men HTML-skjelettet er delt. - Kundedashbord.
client-stats.phpmottarclient_idog sender ut data for en spesifikk klient fra en ekstern CRM.
Hva Include Me ikke gjør: begrensninger
Utvidelsen løser en smal oppgave og prøver ikke å være en sveitsisk armékniv. Ulemper verdt å kjenne til før installasjon:
- Kun administratorer. Shortcoden fungerer bare i innlegg forfattet av en administrator. Forfattere og redaktører kan ikke bruke Include Me; dette er en bevisst sikkerhetsbegrensning (versjon 1.2.2+).
- Ingen visuell editor. Intet brukergrensesnitt i administrasjonspanelet: utvidelsen legger ikke til en metaboks for filvalg. Alt gjøres manuelt via shortcode.
- Filtypen
.phpkreves for kjøring. En fil med navnetscript.incmed PHP-kode vil IKKE kjøres; utvidelsen setter den inn som tekst. Gi den nytt navn tilscript.php. - Ingen mellomlagring. Hvert shortcode-kall leser filen fra disk eller kjører PHP-en på nytt. For sider med høy trafikk og tunge skript, mellomlagre utdataene selv (via Transients API eller en utvidelse for mellomlagring på sidenivå).
⁉️🤔 Ofte stilte spørsmål
Fungerer Include Me med moderne WordPress-versjoner?
Ja, utvidelsen er testet opp til WordPress 6.9.4 og krever versjon 6.1 eller høyere. Den siste oppdateringen (1.3.7) ble utgitt i februar 2026, og forfatteren opprettholder kompatibilitet med hver større WP-utgivelse.
Er det trygt å inkludere PHP-filer via shortcode?
Siden versjon 1.2.2 kjører utvidelsen PHP-filer bare fra en mappe inne i nettstedets rot og bare for administrator-forfattede innlegg. Dette forhindrer kjøring av vilkårlig kode via XSS eller URL-substitusjon. I tillegg bør du begrense mappen via
define('INCLUDE_ME_DIR', '...')og unngå å bruke'*'med mindre det er absolutt nødvendig.
Hvordan skiller Include Me seg fra Insert Pages-utvidelsen?
Insert Pages fokuserer på å sette inn innhold fra andre innlegg; den har et rikt sett med formaterings- og innpakningsalternativer. Include Me er enklere og designet for å jobbe med filer: HTML, PHP, TXT. Hvis oppgaven din bare er å hente inn et annet innlegg, er Insert Pages mer praktisk. Hvis du trenger PHP-skript og eksterne filer, er Include Me valget.
Kan jeg sette inn den samme filen på ti sider?
Ja, det er akkurat det utvidelsen er designet for. Én fil i
/wp-content/include-me/inkluderes via den samme shortcoden på et hvilket som helst antall sider. Rediger filen, så oppdateres innholdet overalt umiddelbart uten å måtte lagre hvert innlegg på nytt.
Hvorfor sender ikke PHP-filen min ut noe?
Tre vanlige årsaker: (1) filen er ikke i
INCLUDE_ME_DIR-mappen, og banen er feil; (2) det finnes en fatal feil i PHP-koden (sjekkWP_DEBUGog serverlogger); (3) filen ble lagret med filtypen.htmleller.inci stedet for.php(Include Me kjører bare.php).
Hva hvis utvidelsen slutter å motta oppdateringer?
Include Me består av bare noen få linjer med kode (ifølge forfatteren) og er ikke avhengig av eksterne tjenester. Selv uten oppdateringer vil den fortsette å fungere i årevis; logikken er ikke knyttet til WP REST API, blokker eller Gutenberg-spesifikke funksjoner. Den grunnleggende WordPress shortcode-mekanismen har ikke endret seg siden versjon 2.5.
Hva du skal gjøre hvis du trenger mer: alternativer og neste steg
Hvis Include Me ikke dekker behovene dine, her er to retninger for utvidelse:
- Sette inn innlegg med formatering: Insert Pages-utvidelsen henter innhold fra andre innlegg med fleksible visningsinnstillinger (tittel, utdrag, egendefinert innpakning).
- Full PHP-motor: WPCode-utvidelsen (tidligere Insert Headers and Footers) lar deg sette inn PHP-snutter globalt eller betinget, med syntaksutheving og feilkontroll.
Start med Include Me: for den typiske oppgaven «sett inn en ekstern fil i et innlegg» er den mer enn nok. Og hvis du allerede har brukt denne utvidelsen eller løst en lignende oppgave på en annen måte, del i kommentarene hvilket verktøy du valgte.



