Artikkelin tai sivun sisältöön voi oletuksena lisätä niin sanottuja shortcodeja. Näiden avulla sivulle tai artikkeliin voi lisätä monimutkaista sisältöä ilman että sitä tarvitsee lisätä suoraan sisältöeditoriin, joka ajoittain saattaa rikkoa erityisesti monimutkaisempaa HTML-koodia. Tällä kertaa käymme läpi, mitä shortcodet ovat, miten niitä käytetään ja miten voi jopa luoda oman shortcoden. Käytän artikkelissa termiä shortcode, sillä en ole törmännyt vielä hyvään suomenkieliseen vastineeseen kyseisestä termistä.

Mikä ihmeen shortcode?

Shortcodeja voi lisätä sisältöeditoriin niin paljon kuin haluaa. Shortcode korvataan oikealla sisällöllä, kun sivu näytetään käyttäjälle verkkosivulla. Sisältöeditorissa shortcode on muotoa:

Shortcode siis alkaa ja loppuu hakasulkeisiin. Hakasulkeiden sisällä on shortcoden nimi ja mahdollisesti parametreja. Jos shortcodessa on parametreja tällöin sen muoto on:

WordPress ei tarjoa oletuksena kovinkaan montaa shortcodea, mutta jos olet käyttänyt WordPressin galleria toiminnallisuutta, silloin olet käyttänyt shortcodea. Kun median lisäyksen yhteydessä luo gallerian ja valitsee kuvat, editoriin ilmestyy tämän jälkeen esimerkiksi seuraavankaltainen shortcode:

Tämän perusteella järjestelmä luo oikeanlaisen kuvagallerian. Shortcodeja hyödynnetään eniten lisäosien kanssa. Monet lisäosat tarjoavat mukanaan omia shortcodeja, joita sivuihin ja artikkeleihin voi liittää. Kannattaa huomioida, että shortcodet toimivat oletuksena sivujen ja artikkelien editoreissa, mutta eivät esimerkiksi sivupalkkien vimpaimissa.

Jos shortcoden haluaa laittaa niin, ettei sitä suoriteta, tällöin shortcoden ympärille tulee laittaa tuplasti hakasulkeita:

Kuinka luoda oma shortcode?

Shortcoden luonti on yksinkertaista. Riittää kun teeman functions.php:hen lisää seuraavanlaisen koodin:

Kuten Sami jo kommenteissa huomautti, koodi kannattaa ennemmin laittaa omaan lisäosaan. Tällöin esimerkiksi teeman vaihdon takia shortcoden toimintaa ei menetetä vaan se toimii jatkossakin vaikka ulkoasu vaihtuukin.

Add_shortcode määrittelee shortcoden nimen ja funktion, joka suoritetaan kun shortcode ajetaan. Tässä tapauksessa shortcoden nimi on moikka. Suoritettava funktio taas on nimeltään moikka_maailma. Jos siis editoriin lisää shortcoden [moikka], tällöin kyseiseen kohtaan tulostuu teksti ”Moikka maailma!” Tämä esimerkki ei tietenkään tee varsinaisesti mitään järkevää, mutta moikka_maailma funktioon voi kirjoittaa minkälaisen toiminnallisuuden tahansa. Jos asia kiinnostaa vielä enemmän, kannattaa tsekata WordPressin Codexista koko shortcode API:n kuvaus.

Arvaapa muuten, millä tähän artikkeliin on lisätty koodiesimerkit? Niinpä, shortcodeilla.

shortcode-esimerkki

Kirjoittaja Timo Leiniö

Olen WP-oppaan perustaja ja päätoimittaja. Työskentelen päivittäin erilaisten verkkosovelluksiin liittyvien haasteiden parissa Sofokuksella. Vapaa-ajalla minut löytää todennäköisesti kalastamasta tai pelaamasta biljardia.

Keskustele ja kysy

  • wpopas sanoo:

    Mainitsemasi asiat pitävät paikkansa. Erityisesti aloitteleville kotinikkareille functions.php:hen lisääminen on kuitenkin yleensä helpompaa, koska tiedosto löytyy jo teemasta. Sen sijaan lisäosaa varten joutuu tekemään kokonaan uuden tiedoston ja hakemiston, vaikkei se olekaan erityisen vaikeaa. Joka tapauksessa hyvä pointti, jonka muokkaan vielä artikkeliin.

    Jos teemaan tarvitaan räätälöintejä, tällöin kannattaisi aina tehdä lapsiteema, joka käyttää isäntäteeman toiminnallisuuksia hyödykseen, mutta kuitenkin mahdollistaa räätälöinnin niin ettei isäntäteeman päivityksen myötä kaikki räätälöinnit katoa. Tämä on itsessään oman artikkelin paikka.

    • samikeijonen sanoo:

      Uuden lisäosan voi tehdä myös lisäosalla, vaikka se hassulta kuulostaakin. Mutta tällä myös aloittelevat pääsevät helposti alkuun.

      http://wordpress.org/plugins/pluginception/

      Lapsiteeman käyttäminen on hyvä artikkelin aihe. Peruslisäosan tekeminen olisi toinen hyvä aihe. Toki aivan aloitteleva ei juuri koskaan tarvitse itse tehdä lisäosia, vaan aina löytyy valmiiksi tehty lisäosa jotakin toiminnallisuutta varten.

  • samikeijonen sanoo:

    Yleisesti ottaen on hyvä muistaa, että shortcode:n koodi on monessa tapauksessa syytä lisätä lisäosaan, ei teeman functions.php tiedostoon muutamasta eri syystä.

    1. Kun joskus vaihdat teemaa, niin haluat, että shorcoden toiminnallisuus säilyy.

    2. Moni käyttää valmiita teemoja, jolloin teeman päivityksen yhteydessä menetät teeman functions.php tiedostoon tekemät muutokset.

Lisää uusi kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *