Blogi

Näin hyödynnät Advanced Custom Fields -lisäosaa WordPress-verkkosivuillasi

Julkaisimme alkuvuodesta artikkelin, jossa developerimme Netta kirjoitti parhaista verkkosivutoteutuksissa käyttämistämme WordPress-lisäosista. Listan kärkipaikalla komeilee Advanced Custom Fields eli ACF, jonka peruskäyttöön pureudun nyt tarkemmin.

Mikä on ACF ja miksi sitä kannattaa käyttää?

ACF:n perusperiaate on tehdä sivuston sisältöjen muokkaamisesta mahdollisimman vaivatonta. Olit sitten kokenut WordPressin taitaja tai verkkosivumaailman vasta-alkaja, Advanced Custom Fields on kätevä lisäosa jokaiselle käyttäjälle ja sivustolle.

Normaalisti WordPressin sivujen muokkausnäkymässä pystyy otsikon ja sisältötekstin lisäksi muokkaamaan ja lisäämään mahdollisia kategorioita, yhden artikkelikuvan ja Artikkelit-sisältötyypillä vielä otteen. ACF mahdollistaa kustomoitujen lisäkenttien tekemisen eli sivujen ja artikkeleiden muokkausnäkymään saadaan kyseisen lisäosan avulla luotua lisäpaikkoja esimerkiksi tekstille, kuville, videoille, valintakentille ja monelle muulle – jopa Google-kartalle.

Näitä lisäkenttäpaikkoja on mahdollista asettaa näkymään mille sivulle tai sisältötyypille tahansa. Kentät saa asetettua livesaitille visuaalisesti haluttuihin kohtiin sivuston rakennuksessa käytetyn muokkaimen tai PHP-koodin avulla.

ACF:n myötä sivuston sisältöjen lisäyksiä tai muutoksia ei tarvitse toteuttaa devaajan toimesta, vaan muokkauksia on mahdollista tehdä helposti WordPressin sivueditorissa. Käytämmekin kyseistä lisäosaa jokaisessa verkkosivuprojektissamme toteuttaaksemme dynaamisia, asiakkaan itse helposti muokattavia sivustoja.

Miten Advanced Custom Fieldsiä käytetään?

Kun Advanced Custom Fields on ladattu lisäosien kirjastosta käyttöön, löytyy se WordPressin ohjauspaneelista (käyttökielestä riippuen) nimellä Lisäkentät. Kenttiä lisätään ryhmittäin, jolloin koko kenttäryhmää on helpompi hallinnoida ja esimerkiksi samalle sivulle haluttujen kenttien sijainti voidaan määritellä suoraan ryhmälle.

Käytän esimerkkinä asiantuntijalausunto-osion rakentamista yksittäisen palvelun sivulle, joka on Custom Post Type UI -lisäosalla toteutettu oma artikkelityyppinsä. ACF ja CPT UI ovat keskenään yhteensopivia lisäosia, joita molempia käytämme yhdessä sivustojen rakennuksessa.

Koska melkein jokaiselle kenttätyypille on omat asetuksensa, käyn tällä kertaa ACF:n käyttöä läpi perustasolla vain esimerkkini kautta. Tarkemmat speksit kaikkiin eri asetuksiin löytyy lisäosan omasta, hyvin kattavasta dokumentaatiosta erikseen jokaisen kenttätyypin kohdalta. ACF Pro -version mukana saatavia kenttätyyppejä ja muita lisäominaisuuksia tarkastelen hieman tämän artikkelin lopussa.

Kenttäryhmä ja lisäkenttä

Kenttäryhmän lisäämisen pääsee aloittamaan klikkaamalla ”Lisää uusi” Lisäkentät-otsikon alta. Ryhmään lisätään uusi kenttä ”+ Lisää kenttä” -napista.

1.    Lisää kenttäryhmälle kuvaava otsikko

Otsikko näkyy mm. kenttäryhmien koontisivulla sekä sivueditorissa kyseisen ryhmän kenttien yläpuolella.

2.   Lisää yksittäisen kentän nimiö ja nimi

Kirjoita nimiöön kenttää hyvin kuvaava nimi, sillä nimiö näkyy kentän nimenä muokkausnäkymässä. Nimi-kohta täyttyy nimiön mukaan automaattisesti.

3.   Valitse sopiva kenttätyyppi

Kenttätyyppi on se, joka määrittää, millaisia lisäpaikkoja muokkausnäkymään halutaan tuoda. Kenttätyyppejä on yli 30, joten valinnanvaraa löytyy – riippuen toki lisäkentän käyttötarkoituksesta.

Asiantuntijalausunto-kentälle valitsin tyypiksi tekstialueen, sillä pelkkä tekstikenttä on vain yhden rivin korkuinen, kun taas tekstialue on suurempi, jolloin kenttään on helpompi kirjoittaa pidempää tekstiä. Tekstialueen muokkausnäkymän koon voi määrittää Rivit-valinnasta, joka on automaattisesti 8.

Asiantuntijan kuva -kentän tyyppi on luonnollisesti kuva. Kuvatyypille voi asettaa esimerkiksi kuvan koon minimi- ja maksimiarvot pikseleissä, jos halutaan rajata kuvan valinta tietyn kokoisiin. Myös sallittua tiedostotyyppiä voi rajoittaa asetuksissa, mutta tässä tapauksessa jätän kaikki asetukset niin kuin ne ovatkin.

Asiantuntijan nimen ja tittelin kohtiin kenttätyypeiksi riittää perusvalinnan tekstikentät, sillä lisättävät sisällöt ovat lyhyitä ja mahtuvat yhdelle riville.

Viimeiseen luomaani kenttään, asiantuntijan yhteystietoihin, valitsin tyypiksi wysiwyg-editorin, jotta asiakkaan on helppo lisätä puhelinnumeroon sekä sähköpostiosoitteeseen linkit html-koodia osaamatta. Periaatteessa kaikki loput tiedot asiantuntijan nimestä alkaen olisi voinut toteuttaa yhden wysiwyg-editorin sisään, mutta koska visuaalisesti näillä kohdilla on erilaiset muotoilut keskenään, on asiakkaan kannalta parempi lisätä nämä erillisinä kenttinä. Tällä tavalla kenttien muokattavuus ja ohjeistus sivueditorissa on myös selkeämpää.

4.   Lisää kentän ohjeet ja valitse pakollisuus

Ohjeet näkyvät ennen lisäkenttää sivun muokkausnäkymässä ja helpottavat sisältöjen lisäämistä ja muokkausta etenkin silloin, kun muokkaaja ei ole itse lisäkenttiä luonut.

Mikäli halutaan, että kyseistä kenttää ei voi olla täyttämättä, voi sen lisätä myös pakollisena, jolloin sivua ei voi julkaista ennen kuin kenttä on täytetty.

5.   Lisää mahdollinen oletusarvo

Osalle kenttätyypeistä on mahdollista asettaa oletusarvo, jolloin kyseiselle kentälle ei tarvitse lisätä editorissa sisältöä, ellei se poikkea oletuksesta. Oletusarvoon voi tarvittaessa myös lisätä esimerkiksi html-koodinpätkän, jolloin muokkaaja pystyy helposti kopioimaan tuon koodin toisiin kenttiin ja muokkaamaan siihen halutun sisällön.

6.   Lisää mahdolliset määritteet lisäkentälle

Upeasti suomennettu kääreen määritteet (engl. wrapper attributes) mahdollistaa esimerkiksi oman classin tai id:n lisäämisen kentälle. Samassa voi myös määrittää kentän koon sivun muokkausnäkymässä. Tätä kohtaa säätämällä saa useita lisäkenttiä editointivaiheessa vierekkäin, jottei jokainen kenttä vie kokonaisen rivin leveydeltä tilaa.

Kenttäryhmän sijainti

Kenttäryhmän näkyvyyttä eri sivujen tai sisältötyyppien muokkausnäkymissä voi määrittää useita eri sääntöjä käyttäen. Luomani Palvelun asiantuntija -kenttäryhmän määrittelin näkymään kaikissa Palvelu-artikkelityypeissä.

Kenttäryhmä on myös mahdollista asettaa näkymään tietyille sivuille tai esimerkiksi artikkeleille, joille on määritelty tietyt kategoriat. Mikäli kenttäryhmä halutaan näkymään useammalla sivulla tai artikkelityypillä, voi niitä lisätä klikkaamalla ”ja”-nappia ja luomalla jokaiselle oman säännön. On myös mahdollista laittaa kenttäryhmä näkymään kaikissa sisältöä lisättävissä paikoissa, mutta sulkea pois tietyt sivut tai artikkelityypit.

Kenttäryhmän asetukset

Lopuksi kenttäryhmää luodessa voidaan määrittää koko ryhmälle tiettyjä asetuksia, joita ei kuitenkaan perustilanteissa kovin paljoa tarvitse muokata.

Kenttäryhmän sijainti on hyvä määrittää tarpeen mukaan joko normaalin sisällön jälkeiseksi eli sivumuokkaimessa sisältöeditorin alle, korkealle eli heti otsikon jälkeiseksi ennen sisältöeditoria tai reunalle eli sivumuokkaimessa oikeaan sivuun.

Asetuksissa on mahdollista muokata myös ryhmän lisäkenttien nimiön ja ohjetekstin sijaintia suhteessa täytettävään kenttään.

Kuvaukseen voi halutessaan kirjoittaa koko kenttäryhmän kuvauksen. Sivun tai artikkelin muokkausnäkymästä voi myös piilottaa tiettyjä kohteita, joita ei editorissa koe tarvitsevansa.

Kun tarvittavat asetukset ja halutut lisäkentät on luotu kenttäryhmään ja ryhmä asetettu näkymään tarvittavilla sivuilla tai artikkelityypeillä, odottavat ne enää vain sisällön lisäämistä! Ylläolevassa kuvassa näkyy, miltä lisäkentät näyttävät sivun, tässä tapauksessa yksittäisen palvelun, muokkaimessa jo lisättyine sisältöineen. Allaolevassa kuvassa näkyy visuaalinen lopputulos sivustolla.

Ilmainen versio vai Pro?

Kuten useat muutkin lisäosat, myös Advanced Custom Fields on saatavilla Pro-versiona. Vaikka ilmaisella versiolla pötkii jo melko pitkälle ja saa luotua useita sisällön lisäystä ja muokkausta helpottavia lisäkenttiä, on Pro-versiossa lisänä sellaisia ominaisuuksia, joita ehdottomasti tarvitsemme. Käytämmekin siis ACF PRO:ta kaikissa verkkosivutoteutuksissamme.

ACF PRO sisältää useampia lisäkenttätyyppejä ja ominaisuuksia verkkosivujen rakennukseen, kuten kuvagallerian, toistettavat rivit ja kloonattavat kentät. Maksullinen versio mahdollistaa esimerkiksi niin sanottujen ACF Blocksien, kuin myös joustavan sisällön luomisen.

ACF Repeater Field

Pro-versiossa mukana tuleva kenttätyyppi Repeater Field on erittäin näppärä työkalu, ja se löytyy lisäosan valinnasta nimellä ”Toista rivejä”. Kun kentän tyypiksi valitaan tämä, pystyy kyseiselle kentälle lisäämään niin sanottuja alakenttiä, jotka toimivat samalla tavalla kuin normaalisti lisättävät kenttätyypit.

Repeater Fieldiä on hyvä käyttää sellaisen sisällön luomiseen, jossa tarvitaan samoja kenttätyyppejä useaan eri kohteeseen. Kun yksi ryhmä tarvittavia kenttätyyppejä on luotu, voi sivuston muokkaaja itse lisätä kyseisen sivun muokkaimessa lisää kohteita tarvitsemansa määrän. Esimerkissäni olen käyttänyt ominaisuutta esittämään faktoja yrityksestä.

Kyseiseen esimerkkimalliin en tarvinnut kuin yhden kenttätyypin, jota voi monistaa sivun muokkaimessa. Kyseessä on teksti-kenttä, jolle lisäsin oletusarvoksi html-koodin, jotta saan faktoille haluamani muotoilut.

Sivun muokkaimessa Repeater Field tulee näkyviin kuten ylläolevassa kuvassa. Uusi fakta lisätään klikkaamalla ”Lisää fakta” -painiketta, jolloin kenttä monistuu ja ohjeen mukaisesti html-koodin sisään kirjoitetaan halutut tiedot, tässä tapauksessa aina numero ja teksti.

Esimerkissäni muotoilin yhden Repeater Field -kenttätyypin ja asetin sille käyttämässämme sivuston rakentajassa paikan, monistuu kenttä visuaalisesti ylläolevan kuvan mukaisesti. Näin asiakas tai sivun muokkaaja voi halutessaan lisätä tai poistaa faktoja ilman, että hänen tarvitsee osata sen enempää koodia tai sivuston rakentajan käyttöä.



Pro-versio tai ei, Advanced Custom Fields on erittäin tärkeä, kätevä ja uskaltaisin jopa sanoa, että korvaamaton lisäosa ja työkalu verkkosivustoja rakennettaessa. Sen avulla saadaan luotua dynaamisia sivuja ja jokaisen käyttäjän itse helposti lisättävää sekä muokattavaa sisältöä.