Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

📄 Kuidas manustada HTML-fail WordPressi lehele: Include Me plugin

📄 Kuidas manustada HTML-fail WordPressi lehele: Include Me plugin

Ehitasime kontaktivormi eraldi .html faili, kirjutasime PHP-s aruandeskripti ja WordPressi redaktor rikub iga salvestamisega koodi ära? Tuttav valu kõigile, kes lähevad tavalisest plokiehitajast kaugemale.

Include Me lahendab selle ülesande üheainsa lühikoodi reaga: see kaasab välise HTML/PHP faili või mõne teise postituse sisu otse postituse kehasse. Plugin asub WordPressi.org kataloogis, sellel on 4000+ aktiivset paigaldust, hinnang 4,8 ja uuendused kuni WP 6.9.4-ni. Autor Stefano Lissa on Newsletteri ja Hyper Cache'i looja.

Allpool on täielik ülevaade: alates paigaldamisest kuni muutujate edastamiseni PHP skriptidele ja turvalise iframe'i režiimini.

💡 Kiirülevaade:

  • Paigalda Include Me WordPressi.org kataloogist (Plugins → Add New, otsi „Include Me").
  • Lae oma sihtfail (HTML/PHP) serveris kausta /wp-content/include-me/.
  • Lisa lühikood [includeme file="sinu-fail.html"] postitusse või lehele, kus seda vajad.
  • PHP failide puhul käivitab plugin skripti ja väljastab tulemuse. HTML puhul lisab selle muutmata kujul.
  • Alternatiivina saad kaasata teise WordPressi postituse post_id kaudu või välise URL-i iframe'i süntaksiga.

Mis on Include Me ja millal seda vaja on

Include Me on kerge plugin (autori sõnul vaid mõni rida koodi), mis lahendab konkreetse ülesande: välise faili lisamise WordPressi postituse või lehe kehasse lühikoodi abil.

Millal seda praktikas vaja läheb:

  • Vormid ja kalkulaatorid. Kirjutasid HTML vormi koos CSS-i ja JS-iga ning plokiredaktor rikub märgendi iga kord, kui lülitud visuaalse ja tekstirežiimi vahel. Include Me lisab faili bait-baidilt, midagi muutmata.
  • PHP aruanded. Skript tõmbab andmebaasist andmeid, ehitab tabeli ja väljastab HTML-i. Include Me käivitab PHP ja kuvab tulemuse postituse sees ilma teemat redigeerimata.
  • Jagatud plokid. Sama fail (hinnatabel, lahtiütlus, kontaktplokk) peab ilmuma kümnel lehel. Redigeeri faili üks kord ja see uueneb automaatselt igal pool.
  • Sisu teisest postitusest. Kaasasid teksti teiselt lehelt post_id kaudu ja see püsib sünkroonis: redigeeri ühes kohas, kuva igal pool.

Peamine eelis kohandatud teemamalli ees: kui vahetad teemat, jäävad failid paigale. Teema muutub, sisu elab iseseisvalt.

Paigaldamine ja esimene käivitamine

Paigaldamine on standardne, WordPressi administraatori paneeli kaudu:

  • Plugins → Add New.
  • Otsinguväljale trüki „Include Me".
  • Leia Stefano Lissa plugin, klõpsa Install NowActivate.

Pärast aktiveerimist on plugin kasutusvalmis ilma seadete ekraanideta. Kogu „konfigureerimine" toimub lühikoodi süntaksi kaudu.

Vaikimisi failitee: /wp-content/include-me/. Lae failid, mida plaanid kaasata, sellesse kausta. Kui vajad teist kataloogi, lisa faili wp-config.php:

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

Kui soovid kaasata faile ükskõik kust serveris, määra tärn (kuid turvalisem on piirduda ühe kaustaga):

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

Oluline turvapiirang: alates versioonist 1.3.0 töötab [includeme] lühikood ainult administraatori loodud postitustes. Faile otsitakse vaikimisi saidi juurkaustas (ABSPATH ja sellest allpool). See pole viga, vaid turvameede: Include Me käivitab PHP koodi ja seda võimalust ei tohiks anda suvalistele kasutajatele.

Põhisüntaks: HTML ja PHP failide kaasamine

HTML-faili lisamise näide Include Me pluginaga

Peamine lühikood on [includeme file="failinimi"]. See töötab igas postituses, lehel või vidinas (do_shortcode kaudu).

Näide 1: HTML fail. Valmistasid ette hinnatabel.html koos hinnakujunduse paigutuse ja stiilidega. Laadisid selle üles kausta /wp-content/include-me/. Postitusse kirjutad:

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

Plugin loeb faili ja lisab selle sisu täpselt sinna, kuhu lühikood on paigutatud. Failis olev <style> silt töötab. Reasisene JS töötab. Mingit märgendi „puhastamist" ei toimu.

Näide 2: PHP skript. Fail aruanne.php käivitab andmebaasist SELECT-i ja väljastab tabeli. .php laiend on Include Me jaoks käivitaja: plugin mitte ainult ei loe faili, vaid käivitab selle include abil. Skripti väljund (echo/print) läheb postitusse:

1[includeme file="report.php"]

Näide 3: Suhteline tee. Ilma eesliiteta kaldkriipsuta tee (file="minukaust/andmed.html") on suhteline saidi juure (ABSPATH) suhtes. Absoluutne tee (file="/var/www/external/vidin.html") algab serveri failisüsteemi juurest. Enamasti kasutad suhtelist teed failini kaustas /wp-content/include-me/.

Teise postituse või lehe kaasamine post_id abil

Include Me arendajad lisasid süntaksi olemasoleva WordPressi postituse sisu tõmbamiseks. Lühikood:

1[includeme post_id="42"]

Kus 42 on soovitud postituse või lehe numbriline ID. Kuidas ID-d leida: administraatori paneelis liigu hiirega soovitud postituse „Edit" lingi kohale ja näed brauseri olekuribal post=42.

See tehnika on mugav juriidiliste lehtede jaoks. Privaatsuspoliitikaid või kasutustingimusi dubleeritakse sageli: üks eksemplar „peamisel" lehel, ülejäänud kasutavad Include Me'd koos post_id-ga. Jurist redigeerib teksti ühes kohas ja see uueneb igal pool.

Märkus: kaasa tõmmatakse ainult postituse sisu, mitte pealkiri. Kui vajad ka pealkirja, pead selle sisu sees dubleerima või kasutama [includeme file="..."] koos PHP skriptiga, mis kutsub välja get_post().

Iframe'i režiim: välise URL-i manustamine

Kolmas süntaks genereerib otsese kaasamise asemel <iframe> elemendi:

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

Kõik täiendavad atribuudid edastatakse <iframe> elemendile HTML atribuutidena:

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

Tulemuseks on täielik iframe määratud mõõtmetega. See on alternatiiv otsesele kaasamisele juhtudel, kui:

  • Pead näitama välist lehte „aknana" postituse sees.
  • Kaasatud sisu peab elama isoleeritud kontekstis (oma CSS/JS, mis ei lähe teemaga vastuollu).
  • Pead manustama interaktiivse vidina (kalkulaator, kaart), mis ei tohiks WordPressi kontekstis käivituda.

Piirang: iframe'i režiim ei käivita PHP-d; see lihtsalt kuvab URL-i raamis. Serveripoolse koodi jaoks kasuta file="...".

Muutujate edastamine PHP skriptidele

Include Me kõige võimsam omadus on parameetrite edastamine lühikoodist kaasatud PHP failile. Lühikoodis kirjutad:

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

Failis greeting.php pääsed atribuutidele ligi globaalse $attrs massiivi kaudu:

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

See muudab Include Me väikeseks mallimootoriks. Sama PHP fail genereerib erineva väljundi sõltuvalt lühikoodi atribuutidest. Praktilised stsenaariumid:

  • Hinnakalkulaator. Üks calc.php skript saab lühikoodist base_price ja discount, näidates erinevatel lehtedel erinevaid arvutusi.
  • Personaliseeritud plokk. cta.php võtab vastu heading ja button_text, igal postitusel on oma pealkiri ja nupp, kuid HTML skelett on jagatud.
  • Kliendi armatuurlaud. client-stats.php saab client_id ja väljastab andmed konkreetse kliendi kohta välisest CRM-ist.

Mida Include Me ei tee: piirangud

Plugin lahendab kitsast ülesannet ega püüa olla Šveitsi armee nuga. Puudused, mida tasub enne paigaldamist teada:

  • Ainult administraatoritele. Lühikood töötab ainult administraatori loodud postitustes. Autorid ja toimetajad ei saa Include Me'd kasutada; see on tahtlik turvapiirang (versioon 1.2.2+).
  • Visuaalne redaktor puudub. Administraatori paneelis pole kasutajaliidest: plugin ei lisa failivaliku jaoks metaboksi. Kõik tehakse käsitsi lühikoodi abil.
  • Käivitamiseks on vajalik .php laiend. Fail nimega script.inc, mis sisaldab PHP koodi, EI käivitu; plugin lisab selle tekstina. Nimeta see ümber script.php-ks.
  • Vahemälu puudub. Iga lühikoodi kutse loeb faili kettalt või käivitab PHP uuesti. Suure külastatavusega lehtedel, kus on rasked skriptid, salvesta väljund ise vahemällu (Transients API või lehe taseme vahemälu plugina kaudu).

⁉️🤔 Korduma kippuvad küsimused

Kas Include Me töötab kaasaegsete WordPressi versioonidega?

Jah, plugin on testitud kuni WordPress 6.9.4 ja nõuab versiooni 6.1 või uuemat. Viimane uuendus (1.3.7) ilmus veebruaris 2026 ja autor hoiab ühilduvust iga suurema WP väljalaskega.

Kas PHP failide kaasamine lühikoodi kaudu on turvaline?

Alates versioonist 1.2.2 käivitab plugin PHP faile ainult saidi juure all olevast kaustast ja ainult administraatori loodud postituste puhul. See hoiab ära suvalise koodi käivitamise XSS-i või URL-i asendamise kaudu. Lisaks piira kausta define('INCLUDE_ME_DIR', '...') abil ja väldi '*' kasutamist, kui see pole hädavajalik.

Mille poolest erineb Include Me Insert Pages pluginast?

Insert Pages keskendub teistest postitustest sisu lisamisele; sellel on rikkalik vormindus- ja ümbrisvalikute komplekt. Include Me on lihtsam ja mõeldud failidega töötamiseks: HTML, PHP, TXT. Kui ülesanne on ainult teise postituse sissetõmbamine, on Insert Pages mugavam. Kui vajad PHP skripte ja väliseid faile, on Include Me õige valik.

Kas ma saan sama faili lisada kümnele lehele?

Jah, see on täpselt see, milleks plugin on loodud. Üks fail kaustas /wp-content/include-me/ kaasatakse sama lühikoodiga suvalisele arvule lehtedele. Redigeeri faili ja sisu uueneb igal pool koheselt, ilma et peaks iga postitust uuesti salvestama.

Miks mu PHP fail ei väljasta midagi?

Kolm levinumat põhjust: (1) fail ei asu INCLUDE_ME_DIR kaustas ja tee on vale; (2) PHP koodis on fataalne viga (kontrolli WP_DEBUG ja serveri logisid); (3) fail salvestati .html või .inc laiendiga, mitte .php (Include Me käivitab ainult .php faile).

Mis siis, kui plugin lõpetab uuenduste saamise?

Include Me koosneb vaid mõnest koodireast (autori sõnul) ega sõltu välistest teenustest. Isegi ilma uuendusteta töötab see aastaid; selle loogika pole seotud WP REST API, plokkide ega Gutenbergi-spetsiifiliste funktsioonidega. WordPressi põhiline lühikoodi mehhanism pole muutunud alates versioonist 2.5.

Mida teha, kui vajad enamat: alternatiivid ja järgmised sammud

Kui Include Me ei kata su vajadusi, on siin kaks laiendamise suunda:

  • Postituste lisamine koos vormindusega: Insert Pages plugin tõmbab sisu teistest postitustest paindlike kuvaseadetega (pealkiri, väljavõte, kohandatud ümbris).
  • Täielik PHP mootor: WPCode plugin (endine Insert Headers and Footers) võimaldab lisada PHP juppe globaalselt või tingimuslikult, koos süntaksi esiletõstmise ja veakontrolliga.

Alusta Include Me'st: tüüpilise ülesande „lisa väline fail postitusse" jaoks on see enam kui piisav. Ja kui oled seda pluginat juba kasutanud või lahendanud sarnase ülesande teisiti, jaga kommentaarides, millise tööriista valisid.