
⚡ Kuidas kasutada WordPressi lühikoode: täielik juhend
Kujutle: lisad artiklisse 20 pildist koosneva galerii. Ilma lühikoodideta tähendaks see kümneid ridu HTML-i koos ümbriste, klasside, data-atribuutide ja pisipiltide linkidega. Lühikoodiga on see üks rida: [gallery]. Just sellise rutiinse mahu ja tulemuse kontrasti tõttu tõi WordPress 2.5 sisse lühikoodid ning ligi kaks aastakümmet hiljem on see mehhanism endiselt asendamatu.
Probleem on selles, et enamik kasutajaid kas kardab lühikoode kui „programmeerija maagiat" või kopeerib neid pimesi, mõistmata süntaksit. Samas võib üksainus kohandatud lühikood asendada neljakümnemegabaidise pluginat või säästa kuus tund aega rutiinset tööd. See jaotus, alates sisseehitatud [gallery] ja [audio] kuni sinu enda lühikoodini failis functions.php, annab sulle selle tööriista üle täieliku kontrolli.
💡 Kiire ülevaade:
- Mis on lühikood: nurksulgudes silt, mille WordPress asendab lehe laadimisel PHP funktsiooni tulemusega.
- Sisseehitatud lühikoodid: gallery, audio, video, caption, embed ja playlist töötavad kohe pärast WordPressi paigaldamist, ilma pluginateta.
- Lühikoodi parameetrid: key="value" süntaks võimaldab väljundit kohandada ilma koodi muutmata.
- Enda lühikoodi loomine: alates lihtsast URL-i asendusest kuni atribuutidega pildi lühikoodini, valmis PHP kood faili functions.php jaoks.
- Lühikoodid vidinates ja mallides: kuidas ühe reaga tugi sisse lülitada ja kus see kasuks tuleb.
Mis on lühikood ja kuidas see töötab
Lühikood on lühike nurksulgudes silt, mille WordPress asendab lehe renderdamise hetkel PHP funktsiooni täitmise tulemusega. Sa kirjutad redaktoris [gallery], külastajad näevad korralikku piltide ruudustikku. Pole mingit maagiat: iga lühikoodi taga on funktsioon, mis on registreeritud add_shortcode() kaudu tuumas, teemas või pluginat.
Peamine erinevus staatilistest HTML-i lisadest: lühikood käivitatakse serveri poolel. Sa edastad sellele parameetreid ja tulemus genereeritakse dünaamiliselt. Sisu muutub, väljund muutub, ilma et peaks kümneid lehti käsitsi toimetama.
Redaktori vaatenurgast on üks nüanss. Visuaalne redaktor (Gutenberg või klassikaline TinyMCE) renderdab lühikoodi kohe eelvaatena, nii et parameetrite ja pesastatud siltidega töötamiseks lülitu tekstirežiimi. Ainult seal näed sa tegelikku struktuuri: avav silt, atribuudid, sisu, sulgev silt.

Sisseehitatud WordPressi lühikoodid: mis on saadaval ilma pluginateta
WordPress tarnitakse kuue registreeritud lühikoodiga. Sa ei pea neid lubama ega seadistama, lihtsalt sisesta need postitusse ja saad tulemused.
Lühikood | Mida see teeb | Näide |
|---|---|---|
| Lisab helifaili koos pleieriga |
|
| Lisab videofaili koos pleieriga |
|
| Galeriipiltide ruudustik |
|
| Ümbritseb sisu allkirjaga |
|
| Manustab välise sisu suuruse kontrolliga |
|
| Heli- või videokogum |
|
Kõige paindlikum neist on [gallery]. Atribuut ids võimaldab määrata konkreetseid pilte ID järgi, isegi neid, mis pole praeguse postitusega seotud. Atribuut size määrab pisipildi suuruse (thumbnail, medium, large või full). Nende kahe parameetri kombinatsioon katab enamiku stsenaariume, mille jaoks inimesed varem eraldi galerii pluginat paigaldasid.
[audio] ja [video] toetavad mitut allikat, brauser valib ühilduva formaadi. Pleilistid [playlist] kaudu koostatakse manuse ID-dest sarnaselt galeriile, kuid väljastavad pleieri koos lugude vahetamise võimalusega.
Lühikoodi parameetrid: kuidas väljundit juhtida
Enamik lühikoode aktsepteerib atribuute vormingus key="value". Väärtuste asendamine muudab funktsiooni loogikat ilma koodi sekkumata.
Võtame [gallery]. Ilma parameetriteta näitab see kõiki postituse pilte standardsuuruses. Lisa täpsustusi:
1 [gallery ids="12,34,56" size="large" columns="3"]
Nüüd on väljund piiratud kolme määratud pildiga, suurust on suurendatud väärtuseni large ja ruudustik on paigutatud kolme veergu. Parameetreid saab suvaliselt kombineerida, määramata jäetud parameetrid saavad vaikeväärtused.
Mõned lühikoodid kasutavad avavaid ja sulgevaid silte, kui nende vahele on vaja sisu edastada. Näiteks Google Mapsi plugin võib eeldada konstruktsiooni nagu:
1 [maps]New York, USA[/maps]
Sulgev silt algab alati kaldkriipsuga /. WordPress kasutab seda tähistust, et eristada siltide vahel olevat sisu avava sildi sees olevatest atribuutidest.
Kuidas luua oma lühikoodi
Kui oled kümnendat korda nädalas sama URL-i, HTML-plokki või tegevusele kutsumist artiklitesse sisestanud, on aeg kirjutada lühikood. See ei nõua PHP arendaja oskusi: põhikonstruktsioon mahub kolmele reale.
Lihtne lühikood URL-i jaoks
Lisa see kood oma teema functions.php faili lõppu (Välimus → Teema redaktor → functions.php):
1 function techblog_short_url() { 2 return 'https://techblog.sdstudio.top'; 3 } 4 add_shortcode( 'techblog', 'techblog_short_url' );
Nüüd asendatakse igas postituses [techblog] automaatselt saidi URL-iga. Funktsioon tagastab sõne, WordPress asendab selle lühikoodi asemele.
Kaks kriitiliselt olulist reeglit ametlikust dokumentatsioonist:
- Funktsioon tagastab väärtuse läbi
return, mitte ei väljasta läbiecho. Otsene väljastus lõhub renderdamise järjekorra ja viib ootamatute tulemusteni. - Registreeri lühikoodid
initkonksul, et WordPress jõuaks kõik sõltuvused laadida:
1 add_action( 'init', 'techblog_register_shortcodes' ); 2 function techblog_register_shortcodes() { 3 add_shortcode( 'techblog', 'techblog_short_url' ); 4 }
Lühikood pildile kohandatavate atribuutidega
Veidi keerulisem stsenaarium: soovid lisada pilti, määrates laiuse ja kõrguse otse redaktoris. Failis functions.php:
1 function techblog_img_shortcode( $atts, $content = null ) { 2 $atts = shortcode_atts( 3 array( 4 'width' => '', 5 'height' => '', 6 ), 7 $atts, 8 'img' 9 ); 10 return '<img src="' . esc_url( $content ) . '" width="' . esc_attr( $atts['width'] ) . '" height="' . esc_attr( $atts['height'] ) . '" alt="" />'; 11 } 12 add_shortcode( 'img', 'techblog_img_shortcode' );
Kasutamine redaktoris:
1 [img width="800" height="600"]https://example.com/photo.jpg[/img]
Funktsioon shortcode_atts() ühendab edastatud atribuudid vaikeväärtustega, see on standardne ja turvaline viis parameetrite käsitlemiseks. Pane tähele esc_url() ja esc_attr(): esilehel kasutaja sisendit väljastades on escapimine kohustuslik. Täielik nimekiri saadaolevatest pildiatribuutidest on W3C spetsifikatsioonis.
Eraldi tasub mainida atribuutide valideerimist. Kui võtad redaktorist vastu väärtusi ja sisestad need HTML-i, kontrolli alati andmetüüpe. Numbriliste atribuutide nagu width ja height puhul kasuta intval(), see lõikab juhuslikud tähed ära. Sõnede puhul määra lubatud väärtuste hulk in_array() abil, näiteks pisipildi suurused (thumbnail, medium, large). Nii jääb küljendus terveks ja esilehe tulemused on etteaimatavad, isegi kui autor eksib atribuudi väärtuses.
Lühikoodid tekstividinates ja PHP failides
Alates WordPressi versioonist 4.9 (november 2017) töötavad lühikoodid automaatselt tekstividinates. Aga kui kasutad kohandatud teemat ilma sisseehitatud toeta, saad selle lubada ühe reaga failis functions.php:
1 add_filter( 'widget_text', 'do_shortcode' );
Et vältida <p> ja <br> siltide automaatset lisamist lühikoodi ümber vidinas (WordPress vormindab reavahetused automaatselt), lisa ka:
1 add_filter( 'widget_text', 'shortcode_unautop' );
Sama põhimõte töötab PHP mallide puhul. Kui sul on vaja käivitada lühikood otse failis header.php või mõnes muus teemafailis, mähi see do_shortcode() sisse:
1 echo do_shortcode( '[techblog]' );
Nii on sama loogika saadaval redaktoris, vidinas ja mallis, ilma koodi dubleerimata.
Põgenemine: kuidas kuvada lühikoodi teksti ilma käivitamiseta
Vahel on vaja lühikoodi mitte käivitada, vaid näidata selle süntaksit lugejale, nagu selles artiklis. Kui sisestad redaktorisse lihtsalt [gallery], siis WordPress kas käivitab selle kohe või näitab kohatäidet. Selle vältimiseks on kaks võimalust.
Topeltsulud. Lihtsaim meetod, kahekordista välimised sulud:
1 [[gallery]]
Paarismärgendite puhul kahekordistatakse esimene avav ja viimane sulgev sulg:
1 [[maps]New York, USA[/maps]]
HTML-i märgikoodid. Tekstiredaktoris saad sulud asendada nende ASCII-koodidega: [ [ asemel ja ] ] asemel. Kirje [gallery] kuvatakse tekstina [gallery], kuid seda ei käivitata.
Esimene meetod on lihtsam ja lähtekoodis loetavam, teine on keeruka vorminduse puhul usaldusväärsem. Vali topeltsulud kiireteks muudatusteks tekstiredaktoris ja ASCII-koodid siis, kui lühikood külgneb teiste nurksulgudega, näiteks koodiplokkides või metavälja kirjeldustes. Mõlemal juhul näevad saidi külastajad täpselt lühikoodi teksti ja WordPress seda ei käivita.
Video: WordPressi lühikoodide täielik lahtiseletus
Neile, kes eelistavad visuaalset selgitust, siin on põhjalik õpetus Kinsta meeskonnalt. Autor näitab lühikoodide loomist, silumist ja reaalseid näiteid elavas projektis, alates teema paigaldamisest kuni esikülje väljundini.
⁉️🤔 Korduma kippuvad küsimused
Kas Gutenbergis saab lühikoode kasutada?
Jah, ploki sisestamise paneelil oleva „Lühikood" ploki kaudu. Sisestad lühikoodi ploki väljale ja WordPress käivitab selle renderdamise ajal. Keerukad lühikoodid koos pesastatud sisuga võivad aga töötada ettearvamatult, sellistel juhtudel on usaldusväärsem lülituda koodi redigeerimise režiimi. Gutenberg renderdab lühikoode serveri tagasikutse kaudu, seega sõltuvad tulemused sellest, kas funktsioon tagastab korrektse HTML-i.
theme.jsonfailiga plokiteemad (Full Site Editing) võivad mallides lühikoodide väljundit osaliselt piirata, kontrolli konkreetse teema ühilduvust.
Mida teha, kui lühikood ei tööta?
Kontrolli kolme tüüpilist põhjust. Esiteks: sisestasid lühikoodi visuaalses redaktoris, mis teisendas sulud HTML-olemiteks, lülitu tekstirežiimi ja veendu, et sulud on tavalised. Teiseks: lühikoodi registreeriv plugin on deaktiveeritud, mine jaotisesse „Pluginad" ja kontrolli olekut. Kolmandaks: lühikoodi funktsioon kasutab
returnasemelecho'd, see on arendaja viga, väljund ilmub lehel valesse kohta. Süstemaatiline diagnostikameetod: avawp-config.php, lubaWP_DEBUGjaWP_DEBUG_LOG. Pärast lühikoodiga lehe laadimist kontrolli failiwp-content/debug.log, seal on konkreetsed PHP vead koos faili ja rea viitega.
Kas lühikoodi saab otse PHP-koodi sisestada?
Ei. Lühikood on päästik, mitte suvalise koodi konteiner. Käivitatakse serveri poolel
add_shortcode()kaudu registreeritud funktsioon. Kui vajad kohandatud loogikat, kirjuta see failifunctions.php(või eraldi pluginasse) ja seo see lühikoodiga. Nurksulgude vahele saad edastada ainult sisu ja atribuute, mitte käivitatavat koodi. Turvaliseks PHP käivitamiseks sisus uuri pluginaid nagu „Code Snippets", need võimaldavad hallata koodijuppe läbi administraatori liidese, ilmafunctions.phpredigeerimiseta ja kaitsega fataalsete vigade eest.
Kas lühikoodid aeglustavad saiti?
Iseenesest mitte.
add_shortcode()registreerib vaid sildi ja funktsiooni vastavuse globaalses$shortcode_tagsmassiivis. Ülekoormus tekib siis, kui lühikoodi funktsioon sooritab igal lehe laadimisel raskeid andmebaasipäringuid või väliseid API väljakutseid. Probleem pole lühikoodi mehhanismis, vaid konkreetse plugina teostuses. Juhtnöör: kui leht sisaldab 20+ lühikoodi, millest igaüks tõmbabWP_Queryvõiwp_remote_get()päringu, puhverda tulemused Transients API kaudu. Tüüpiliste stsenaariumide puhul (üks või kaks lühikoodi lehe kohta) on mõju jõudlusele tühiselt väike.
Kuidas eemaldada lühikoodi väljundist ilma seda postitusest kustutamata?
Kasuta failis
functions.phpfunktsiooniremove_shortcode(). Näiteks sisseehitatud galerii keelamiseks:remove_shortcode( 'gallery' ). Pärast seda kuvatakse[gallery]postituse tekstis tavalise nurksulgudes tekstina, ilma käivitamiseta. Tuleb kasuks teisele lahendusele üleminekul või konfliktide silumisel. Osaline keelamine: saad lühikoodi üle kirjutada, registreerides sama sildiga oma töötlejaadd_shortcode()kaudu. Viimasena registreeritud töötlejal on prioriteet.
Kas lühikoode tasub 2026. aastal õppida
Gutenberg ja plokiredaktor sulgesid paljud ülesanded, mille jaoks varem lühikoode kirjutati: veerud, nupud, meedia sisestamine, ümbrised. Kuid lühikoodid pole kuhugi kadunud. Pluginad registreerivad neid endiselt sadade kaupa, alates tellimisvormidest kuni WooCommerce'i ostukorvideni. Ja mis kõige tähtsam, üks kohandatud lühikood võib asendada plugina ja teha täpselt seda, mida sinu projekt vajab, ilma administraatoriliidest kellegi teise seadetega üle koormamata.
Kui kordad artiklites regulaarselt sama HTML-plokki, linki või malli, kuluta 10 minutit add_shortcode() peale failis functions.php. Investeeringu tasuvus: kümneid tunde aastas, mida sa ei kuluta kopeeri-kleebi tegevusele. Lühikoodid on tagasiühilduvad, täna kirjutatud kood töötab ka tulevastes WordPressi versioonides, sest lühikoodide API pole alates selle ilmumisest muutunud ja jääb üheks stabiilsemaks tuumaelemendiks.



