Loputon artikkelivirta WordPressin artikkelisivuille

Infinite scrolling eli loputon vieritys on herkästi turhauttava ja jopa raivostuttava navigointimenettely. Se toimii joissain yhteyksissä, mutta sen kanssa on syytä olla varovainen. Etenkin arkistosivuilla suosittelen lämpimästi käyttämään perinteistä sivutettua arkistoa loputtoman skrollauksen sijasta. Löysin kuitenkin sille ihan mielenkiintoisen sovelluksen. Pitchforkin levyarvosteluissa arvostelun lopussa näytetään automaattisesti edellinen arvostelu aikajärjestyksessä. Tämä on mielestäni aika toimiva sovellus: […]

Sähköpostia ylläpidolle, kun artikkeli tulee tarkistettavaksi

Facebookin WordPress / WooCommerce / Suomi / Finland -ryhmässä kyseltiin lisäosaa, joka lähettäisi sivuston ylläpitäjälle sähköpostia aina kun sivustolle tulee uusi artikkeli tarkistettavaksi. En tiedä, onko tällaista lisäosaa, mutta asia on sen verran yksinkertainen, ettei siihen lisäosaa tarvita. Tehtävä hoituu muutamalla rivillä koodia. Avainasemassa on transition_post_status-koukku, joka suoritetaan aina kun jonkun artikkelin tila muuttuu. Tähän […]

JSON-datan lukeminen taulukkolaskentaan

Tuli mieleen yksi juttu, jonka halusin lautapelitilastoistani laskea. Koska halusin vain kokeilla ja pohtia, onko kyseessä kiinnostava asia, en halunnut koodata ominaisuutta tilastosoftaani. Siksi homma kannatti tehdä taulukkolaskennassa. Kun olen aikaisemmin käpistellyt pelitilastojani taulukkolaskennassa, olen kopioinut datan selaimesta ja liittänyt taulukkolaskentaan. Se on kuitenkin aika vaivalloista ja virheille herkkää. Asiaan on oltava parempi tapa. Ajattelin, […]

Spämmikäyttäjien torjuminen WordPressissä

WordPress-sivustoille, joille rekisteröityminen on avointa, tulee helposti paljon spämmirekisteröitymisiä. Ongelman ratkaisemiseen on erilaisia vaihtoehtoja. Itse ratkaisin sen Relevanssin sivuilla estämällä suorat rekisteröitymiset, sivustolle pääsee rekisteröitymään vain maksamalla lisenssin, mutta Lautapelioppaaseen piti keksiä jotain muuta. Päädyin yksinkertaiseen captcha-ratkaisuun: Tämä yksinkertainen ratkaisu ajaa asian ja on blokannut spämmikäyttäjät sataprosenttisesti vaivaamatta liikaa oikeita käyttäjiä. Koodipuolella tämä näyttää tältä: […]

WordPress-kehitys versionhallinnan avulla

Jutussani Gutenberg-lohkojen tekemisestä viittasin WordPressin kehittämisestä versionhallinnan avulla. Tämä herätti kysymyksiä, joten katsoin tarpeelliseksi avata asiaa – kyse on kuitenkin jutusta, jonka pitäisi olla itsestäänselvä, mutta joka ei sitä välttämättä ole. Mitä on versionhallinta? Versionhallinnassa kyse on yksinkertaisesti siitä, että aina kun koodin tehdään muutokset, muutokset tallennetaan versionhallintaan siten, että voidaan nähdä mitä muutoksia on […]

Gutenberg-lohkon tekeminen Advanced Custom Fieldsillä

WordPressin uusi Gutenberg-editori on oiva työkalu, joka vähentää tarvetta page buildereille ja mahdollistaa erilaisten sisältölajien ja perusasettelujen rakentelun suoraan editorista. Kaikkea Gutenberg ei valmiiksi kuitenkaan osaa. On olemassa lisäosia, jotka tuovat Gutenbergiin uusia lohkoja, mutta entä jos tarvittaisiin kustomoitu, omiin tarpeisiin istuva lohko? Lohkojen luominen onnistuu kyllä, mutta ei se ihan yksinkertaista ole. Asiaa on […]

Twenty Twenty -teeman artikkelien otsakkeen muuttaminen

Halusin Twenty Twenty -teemaan pienen muutoksen artikkelien otsaketietoihin. Oletuksena otsakkeessa näytetään artikkelin luontipäivämäärä, mutta Lautapelioppaassa on olennaista myös se, milloin artikkelia on päivitetty. Artikkelin otsaketiedot tulevat twentytwenty_the_post_meta()-funktiosta, joka taas ei tee muuta kuin tulostaa sen, mitä twentytwenty_get_post_meta()-funktio luo. Tämä on sen verran pitkä ja monimutkainen funktio, ettei sitä kannata lähteä kirjoittamaan uudestaan, jos haluaa tehdä […]

Devaajan työkalut: editori

Devaajan perustyökalu on editori. Kaikenlaisilla editoreilla voi kirjoittaa koodia – minäkin tein pitkään TextWranglerilla – mutta hyvä editori helpottaa elämää paljon. Editorin valinnasta ei nykyään ole juuri kysymystä: Visual Studio Code on sen verran ylivertainen vekotin, että muuta ei oikeastaan tarvitse edes harkita. No, eivät sitä kaikki käytä, mutta lähtisin silti siitä, että jos mitään […]

Omien SVG-ikonien lisääminen Twenty Twentyyn

WordPressin uusi oletusteema Twenty Twenty on hieno, ihastuin heti. Värkkään Lautapelioppaalle uutta teemaa ensi vuoden 20-vuotisjuhlien kunniaksi, joten tuntui jokseenkin luontevalta vaihtaa vanha Twenty Fourteen -pohjainen teema Twenty Twentyyn. Värkätessä tuli vastaan pieni pulma: halusin lisätä teemaan omia SVG-ikoneita, koska olemassaolevasta valikoimista puuttui jokunen tarpeellinen ikoni. Vaan kuinkas se tehdään elegantisti ja mahdollisimman vähällä olemassaolevan […]

Redis-välimuisti Node.js:ssä

Kaipasin Node.js-sovellukseen välimuistia. Minulla on lautapelikirjanpitoon Gamestats-sovellus, jossa on Mongo-tietokanta, Node.js-backend ja React-frontti. Dataa on kertynyt aika lailla, kun kirjanpidossa on kaikki pelatut lautapelit parinkymmenen vuoden ajalta, joten osa sivunlatauksista on toivottoman hitaita. Ongelmia aiheuttaa sekin, että kaikkea datan yhdistelyä ei voi tehdä tietokannassa, vaan monissa tapauksissa on ensin imaistava Mongosta kaikki pelit ja pelisessiot […]