Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

📄 Kuinka upottaa HTML-tiedosto WordPress-sivulle: Include Me -lisäosa

📄 Kuinka upottaa HTML-tiedosto WordPress-sivulle: Include Me -lisäosa

Rakensimme yhteydenottolomakkeen erilliseen .html-tiedostoon, kirjoitimme raporttiskriptin PHP:llä ja WordPressin editori sotkee koodin jokaisella tallennuksella? Tuttu tuska kaikille, jotka menevät vakiopalikkaeditoria pidemmälle.

Include Me ratkaisee tämän tehtävän yhdellä shortcode-rivillä: se sisällyttää ulkoisen HTML/PHP-tiedoston tai toisen artikkelin sisällön suoraan artikkelin runkoon. Lisäosa löytyy WordPress.org-hakemistosta, ja sillä on yli 4 000 aktiivista asennusta, arvosana 4,8 ja päivityksiä WP 6.9.4:ään asti. Tekijä Stefano Lissa on Newsletterin ja Hyper Cachen luoja.

Alla on täydellinen erittely: asennuksesta muuttujien välittämiseen PHP-skripteille ja turvalliseen iframe-tilaan.

💡 Pikaopas:

  • Asenna Include Me WordPress.org-hakemistosta (Lisäosat → Lisää uusi, hae "Include Me").
  • Lataa kohde-HTML/PHP-tiedosto palvelimen /wp-content/include-me/-kansioon.
  • Lisää shortcode [includeme file="your-file.html"] sinne, missä tarvitset sitä artikkelissa tai sivulla.
  • PHP-tiedostot: lisäosa suorittaa skriptin ja tulostaa lopputuloksen. HTML-tiedostot se lisää sellaisenaan.
  • Vaihtoehtoisesti voit sisällyttää toisen WordPress-artikkelin post_id-parametrilla tai ulkoisen URL-osoitteen iframe-syntaksilla.

Mikä Include Me on ja milloin sitä tarvitset

Include Me on kevyt lisäosa (vain muutama rivi koodia, tekijän mukaan), joka ratkaisee yhden tietyn tehtävän: ulkoisen tiedoston lisäämisen WordPress-artikkelin tai -sivun runkoon shortcodella.

Milloin tätä käytännössä tarvitaan:

  • Lomakkeet ja laskurit. Kirjoitit HTML-lomakkeen, jossa on CSS ja JS, ja lohkoeditori sotkee merkinnän joka kerta, kun vaihdat visuaalisen ja tekstimuodon välillä. Include Me lisää tiedoston tavu tavulta, koskematta mihinkään.
  • PHP-raportit. Skripti hakee tietoa tietokannasta, rakentaa taulukon ja tulostaa HTML:ää. Include Me suorittaa PHP:n ja näyttää tuloksen artikkelin sisällä ilman teeman muokkaamista.
  • Jaetut lohkot. Sama tiedosto (hinnasto, vastuuvapauslauseke, yhteystietolohko) pitää näkyä kymmenellä sivulla. Muokkaa tiedostoa kerran, ja se päivittyy automaattisesti kaikkialle.
  • Sisältö toisesta artikkelista. Sisällytit tekstiä toiselta sivulta post_id-parametrilla, ja se pysyy synkronoituna: muokkaa yhdessä paikassa, näytä kaikkialla.

Suurin etu räätälöityyn teemapohjaan verrattuna: kun vaihdat teemaa, tiedostosi pysyvät paikoillaan. Teema vaihtuu, sisältö elää itsenäisesti.

Asennus ja ensiajo

Asennus on vakio, WordPressin hallintapaneelin kautta:

  • Lisäosat → Lisää uusi.
  • Kirjoita hakukenttään "Include Me".
  • Etsi Stefano Lissan lisäosa, napsauta Asenna nytOta käyttöön.

Aktivoinnin jälkeen lisäosa on käyttövalmis ilman asetusnäyttöjä. Kaikki "konfigurointi" tehdään shortcode-syntaksilla.

Oletustiedostopolku: /wp-content/include-me/. Lataa sisällytettävät tiedostot tähän kansioon. Jos tarvitset toisen hakemiston, lisää wp-config.php-tiedostoon:

1define('INCLUDE_ME_DIR', '/path/to/your/folder');

Jos haluat sisällyttää tiedostoja mistä tahansa palvelimella, aseta asteriski (mutta on turvallisempaa rajoittaa yhteen kansioon):

1define('INCLUDE_ME_DIR', '*');

Tärkeä tietoturvarajoitus: versiosta 1.3.0 alkaen [includeme]-shortcode toimii vain järjestelmänvalvojan omistamissa artikkeleissa. Tiedostoja etsitään oletuksena sivuston juurikansion (ABSPATH ja sen alikansiot) sisältä. Tämä ei ole bugi vaan suojaus: Include Me suorittaa PHP-koodia, eikä tätä kykyä pidä antaa kenelle tahansa.

Perussyntaksi: HTML- ja PHP-tiedostojen sisällyttäminen

Esimerkki HTML-tiedoston upottamisesta Include Me -lisäosalla

Pääshortcode on [includeme file="filename"]. Se toimii missä tahansa artikkelissa, sivussa tai vimpaimessa (do_shortcode-funktion kautta).

Esimerkki 1: HTML-tiedosto. Valmistelit price-table.html-tiedoston, jossa on hinnoitteluasettelu ja tyylit. Latasit sen kansioon /wp-content/include-me/. Artikkelissa kirjoitat:

1[includeme file="price-table.html"]

Lisäosa lukee tiedoston ja lisää sen sisällön täsmälleen siihen kohtaan, johon shortcode on sijoitettu. Tiedoston sisällä oleva <style>-tagi toimii. Rivillä oleva JS toimii. Ei merkintöjen "siivousta".

Esimerkki 2: PHP-skripti. Tiedosto report.php suorittaa SELECT-kyselyn tietokannasta ja tulostaa taulukon. .php-pääte on Include Me:n laukaisin: lisäosa ei pelkästään lue tiedostoa, vaan suorittaa sen include-lausekkeella. Skriptin tuloste (echo/print) menee artikkeliin:

1[includeme file="report.php"]

Esimerkki 3: Suhteellinen polku. Polku ilman alkavaa vinoviivaa (file="myfolder/data.html") on suhteessa sivuston juureen (ABSPATH). Absoluuttinen polku (file="/var/www/external/widget.html") alkaa palvelimen tiedostojärjestelmän juuresta. Useimmissa tapauksissa käytät suhteellista polkua tiedostoon /wp-content/include-me/-kansion sisällä.

Toisen artikkelin tai sivun sisällyttäminen post_id-parametrilla

Include Me:n kehittäjät lisäsivät syntaksin olemassa olevan WordPress-artikkelin sisällön hakemiseen. Shortcode:

1[includeme post_id="42"]

Missä 42 on halutun artikkelin tai sivun numeerinen ID. Miten ID löydetään: vie hiiri hallintapaneelissa halutun artikkelin "Muokkaa"-linkin päälle, niin näet selaimen tilarivillä post=42.

Tämä tekniikka on kätevä juridisille sivuille. Tietosuojaselosteet tai käyttöehdot kopioidaan usein: yksi ilmentymä "ylätason" sivulla, loput käyttävät Include Me:tä post_id-parametrilla. Lakimies muokkaa tekstiä yhdessä paikassa, ja se päivittyy kaikkialle.

Huomio: vain artikkelin sisältö haetaan, ei otsikkoa. Jos tarvitset myös otsikon, sinun on kopioitava se sisällön sisällä tai käytettävä [includeme file="..."]-shortcodea PHP-skriptin kanssa, joka kutsuu get_post()-funktiota.

Iframe-tila: ulkoisen URL-osoitteen upottaminen

Kolmas syntaksi luo <iframe>-elementin suoran sisällytyksen sijaan:

1[includeme src="https://example.com/widget"]

Kaikki lisäattribuutit välitetään <iframe>-elementille HTML-attribuutteina:

1[includeme src="https://example.com/widget" frameborder="0" width="600" height="450"]

Lopputuloksena on täysi iframe määritetyillä mitoilla. Tämä on vaihtoehto suoralle sisällytykselle tapauksissa, joissa:

  • Sinun on näytettävä ulkoinen sivu "ikkunana" artikkelin sisällä.
  • Sisällytetyn sisällön on elettävä eristetyssä kontekstissa (oma CSS/JS, joka ei ole ristiriidassa teeman kanssa).
  • Sinun on upotettava interaktiivinen vimpain (laskuri, kartta), jota ei pidä suorittaa WordPress-kontekstissa.

Rajoitus: iframe-tila ei suorita PHP:tä; se vain näyttää URL-osoitteen kehyksessä. Palvelinpuolen koodiin käytä file="..."-parametria.

Muuttujien välittäminen PHP-skripteille

Include Me:n tehokkain ominaisuus on parametrien välittäminen shortcodesta sisällytettyyn PHP-tiedostoon. Shortcodessa kirjoitat:

1[includeme file="greeting.php" name="Alexey" plan="Pro"]

greeting.php-tiedoston sisällä käytät attribuutteja globaalin $attrs-taulukon kautta:

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>";

Tämä muuttaa Include Me:n minipohjamoottoriksi. Sama PHP-tiedosto tuottaa eri tulosteen shortcoden attribuuteista riippuen. Käytännön skenaarioita:

  • Hintalaskuri. Yksi calc.php-skripti vastaanottaa base_price- ja discount-arvot shortcodesta ja näyttää eri laskelmat eri sivuilla.
  • Personoitu lohko. cta.php hyväksyy heading- ja button_text-parametrit, jokaisella artikkelilla on oma otsikkonsa ja painikkeensa, mutta HTML-runko on jaettu.
  • Asiakasnäkymä. client-stats.php vastaanottaa client_id-parametrin ja tulostaa tietyn asiakkaan tiedot ulkoisesta CRM:stä.

Mitä Include Me ei tee: rajoitukset

Lisäosa ratkaisee kapean tehtävän eikä yritä olla Sveitsin armeijan linkkuveitsi. Haittapuolet, jotka kannattaa tietää ennen asennusta:

  • Vain järjestelmänvalvojille. Shortcode toimii vain järjestelmänvalvojan kirjoittamissa artikkeleissa. Kirjoittajat ja toimittajat eivät voi käyttää Include Me:tä; tämä on tarkoituksellinen tietoturvarajoitus (versio 1.2.2+).
  • Ei visuaalista editoria. Hallintapaneelissa ei ole käyttöliittymää: lisäosa ei lisää metaboxia tiedoston valintaan. Kaikki tehdään manuaalisesti shortcodella.
  • .php-pääte vaaditaan suoritukseen. Tiedostoa, jonka nimi on script.inc ja joka sisältää PHP-koodia, EI suoriteta; lisäosa lisää sen tekstinä. Nimeä se uudelleen muotoon script.php.
  • Ei välimuistia. Jokainen shortcode-kutsu lukee tiedoston levyltä tai suorittaa PHP:n uudelleen. Sivuille, joilla on paljon liikennettä ja raskaita skriptejä, välimuistita tuloste itse (Transients API:n tai sivutason välimuistilisäosan avulla).

⁉️🤔 Usein kysytyt kysymykset

Toimiiko Include Me nykyaikaisten WordPress-versioiden kanssa?

Kyllä, lisäosa on testattu WordPress 6.9.4:ään asti ja vaatii version 6.1 tai uudemman. Viimeisin päivitys (1.3.7) julkaistiin helmikuussa 2026, ja tekijä ylläpitää yhteensopivuutta jokaisen suuren WP-julkaisun kanssa.

Onko turvallista sisällyttää PHP-tiedostoja shortcodella?

Versiosta 1.2.2 alkaen lisäosa suorittaa PHP-tiedostoja vain sivuston juuren sisällä olevasta kansiosta ja vain järjestelmänvalvojan kirjoittamissa artikkeleissa. Tämä estää mielivaltaisen koodin suorittamisen XSS:n tai URL-korvauksen kautta. Lisäksi rajoita kansio define('INCLUDE_ME_DIR', '...')-määrityksellä ja vältä '*'-merkin käyttöä, ellei se ole ehdottoman välttämätöntä.

Miten Include Me eroaa Insert Pages -lisäosasta?

Insert Pages keskittyy sisällön lisäämiseen toisista artikkeleista; siinä on runsaasti muotoilu- ja käärevaihtoehtoja. Include Me on yksinkertaisempi ja suunniteltu tiedostojen käsittelyyn: HTML, PHP, TXT. Jos tehtäväsi on vain toisen artikkelin hakeminen, Insert Pages on kätevämpi. Jos tarvitset PHP-skriptejä ja ulkoisia tiedostoja, Include Me on oikea valinta.

Voinko lisätä saman tiedoston kymmenelle sivulle?

Kyllä, juuri tähän lisäosa on suunniteltu. Yksi tiedosto /wp-content/include-me/-kansiossa sisällytetään samalla shortcodella mihin tahansa määrään sivuja. Muokkaa tiedostoa, ja sisältö päivittyy kaikkialle välittömästi ilman jokaisen artikkelin uudelleentallennusta.

Miksi PHP-tiedostoni ei tulosta mitään?

Kolme yleistä syytä: (1) tiedosto ei ole INCLUDE_ME_DIR-kansiossa ja polku on virheellinen; (2) PHP-koodissa on vakava virhe (tarkista WP_DEBUG ja palvelinlokit); (3) tiedosto tallennettiin .html- tai .inc-päätteellä .php-päätteen sijaan (Include Me suorittaa vain .php-tiedostoja).

Entä jos lisäosa lakkaa saamasta päivityksiä?

Include Me koostuu vain muutamasta koodirivistä (tekijän mukaan) eikä ole riippuvainen ulkoisista palveluista. Ilman päivityksiäkin se jatkaa toimintaansa vuosia; sen logiikka ei ole sidottu WP REST API:in, lohkoihin tai Gutenberg-spesifeihin ominaisuuksiin. WordPressin perus-shortcode-mekanismi ei ole muuttunut version 2.5 jälkeen.

Mitä tehdä, jos tarvitset enemmän: vaihtoehdot ja seuraavat askeleet

Jos Include Me ei kata tarpeitasi, tässä on kaksi laajennussuuntaa:

  • Artikkelien lisääminen muotoiluineen: Insert Pages -lisäosa hakee sisältöä toisista artikkeleista joustavilla näyttöasetuksilla (otsikko, tiivistelmä, mukautettu kääre).
  • Täysi PHP-moottori: WPCode -lisäosa (entinen Insert Headers and Footers) mahdollistaa PHP-pätkien lisäämisen globaalisti tai ehdollisesti, syntaksikorostuksella ja virheenhallinnalla.

Aloita Include Me:llä: tyypilliseen "lisää ulkoinen tiedosto artikkeliin" -tehtävään se on enemmän kuin riittävä. Ja jos olet jo käyttänyt tätä lisäosaa tai ratkaissut vastaavan tehtävän eri tavalla, jaa kommenteissa, minkä työkalun valitsit.