{"id":250052,"date":"2024-02-03T16:01:00","date_gmt":"2024-02-03T13:01:00","guid":{"rendered":"https:\/\/inform.click\/hyodyllisia-temppuja-hitaiden-wordpress-tietokantakyselyjen-etsimiseen-ja-korjaamiseen\/"},"modified":"2024-02-03T16:01:00","modified_gmt":"2024-02-03T13:01:00","slug":"hyodyllisia-temppuja-hitaiden-wordpress-tietokantakyselyjen-etsimiseen-ja-korjaamiseen","status":"publish","type":"post","link":"https:\/\/inform.click\/fi\/hyodyllisia-temppuja-hitaiden-wordpress-tietokantakyselyjen-etsimiseen-ja-korjaamiseen\/","title":{"rendered":"Hy\u00f6dyllisi\u00e4 temppuja hitaiden WordPress-tietokantakyselyjen etsimiseen ja korjaamiseen"},"content":{"rendered":"<p>\n  Kohtalaiset SQL-kyselyt voivat h\u00e4irit\u00e4 WordPress-sovelluskehityssivuston suoritusta. Joskus maltilliset kyselyt ovat seurausta riitt\u00e4m\u00e4tt\u00f6m\u00e4sti rakenteellisesta SQL:st\u00e4, jota ei olisi koskaan pit\u00e4nyt tehd\u00e4 sill\u00e4 tavalla.\n<\/p>\n<p>\n  Lis\u00e4ksi joissakin tapauksissa maltilliset tiedustelut olivat todellisuudessa nopeita kysymyksi\u00e4 tietyss\u00e4 vaiheessa \u2013 mutta sivuston kehittyess\u00e4 kysely hidastui ja hidastui, ei voimaton pysy\u00e4 tietoisena laajenevasta tietokannasta.\n<\/p>\n<p>\n  Huolimatta siit\u00e4, kuinka SQL:st\u00e4 tuli maltillinen, kannattaa tutkia pari tapaa l\u00f6yt\u00e4\u00e4 ja korjata ongelmakysymyksi\u00e4 WordPress-sovelluskehityksess\u00e4. Siell\u00e4 t\u00e4\u00e4ll\u00e4 saattaa tarvita tietty\u00e4 verkkosovellusta, eik\u00e4 sill\u00e4 v\u00e4ltt\u00e4m\u00e4tt\u00e4 ole riitt\u00e4v\u00e4sti energiaa, kykyj\u00e4 tai kulutussuunnitelmaa mukautetun parannuksien tekemiseen. Luominen ilman valmistelua voi olla vastaus joihinkin ongelmiin, mutta se voi kest\u00e4\u00e4 kauemmin kuin nykyisest\u00e4 koodikannasta aloittaminen. WordPress rakennettiin alun perin blogivaiheeksi, ja se on edelleen erinomainen siin\u00e4. Oli miten oli, se on edennyt t\u00e4ysin toimivaksi sis\u00e4ll\u00f6nhallintaj\u00e4rjestelm\u00e4ksi (CMS) ja voi muutamiin tarkoituksiin jopa luoda vahvan verkkosovelluksen \u2013 nopeasti ja olennaisesti pienemm\u00e4ll\u00e4 suunnitelmalla kuin r\u00e4\u00e4t\u00e4l\u00f6ity parannus. Vaikka WordPress tarjoaa sis\u00e4\u00e4nrakennettuja kehityssovelluksia, sit\u00e4 voidaan k\u00e4ytt\u00e4\u00e4 verkkosovelluksissa, jotta se olisi erityisen hy\u00f6dyllinen. Sis\u00e4isi\u00e4 sivu- ja postausrakenteita voidaan hy\u00f6dynt\u00e4\u00e4 moneen asiaan, mutta siin\u00e4 tapauksessa, ett\u00e4 tarvitsee mukautettuja tietoja ja kentti\u00e4 sis\u00e4llytett\u00e4v\u00e4ksi, etsitt\u00e4v\u00e4ksi tai kyseenalaiseksi, valvottavaksi ja n\u00e4ytt\u00e4v\u00e4ksi, vaatii lis\u00e4ty\u00f6t\u00e4.\n<\/p>\n<h5>\n  Hitaiden kyselyjen l\u00f6yt\u00e4minen<br \/>\n<\/h5>\n<p>\n  Maltillisten kysymysten alkuper\u00e4n l\u00f6yt\u00e4minen sis\u00e4lt\u00e4\u00e4 kaksi vaihetta:\n<\/p>\n<ol>\n<li>Selvitt\u00e4\u00e4, mitk\u00e4 kysymykset ovat todella maltillisia.\n  <\/li>\n<li>Niit\u00e4 k\u00e4ytt\u00e4v\u00e4n ohjelman tunnistaminen.\n  <\/li>\n<\/ol>\n<p>\n  On syyt\u00e4 tarkastella kahta moduulia ja yht\u00e4 SaaS-palvelua, joiden avulla he voivat l\u00f6yt\u00e4\u00e4 kohtuullisia kyselyj\u00e4.\n<\/p>\n<h5>\n  Kyselyn valvonta<br \/>\n<\/h5>\n<p>\n  T\u00e4t\u00e4 moduulia voidaan k\u00e4ytt\u00e4\u00e4 t\u00e4ll\u00e4 hetkell\u00e4 k\u00e4ynniss\u00e4 olevan sivun tietojen saamiseksi. Huolimatta kokonaisesta tietojoukosta WordPressin sis\u00e4isist\u00e4 toiminnoista, se antaa pistekohtaisen erittelyn seuraavista:\n<\/p>\n<ul>\n<li>Kuinka monta kysymyst\u00e4 tuli esille t\u00e4m\u00e4n vaatimuksen johdosta?\n  <\/li>\n<li>Mik\u00e4 sivulla oleva kysely vei eniten aikaa?\n  <\/li>\n<li>Mitk\u00e4 kapasiteetit investoivat eniten energiaa SQL-kysymyksiin?\n  <\/li>\n<li>Olivatpa n\u00e4m\u00e4 tiedustelut per\u00e4isin moduuleista, oppiaineista tai WordPress-keskuksesta\n  <\/li>\n<\/ul>\n<p>\n  Kyselyn\u00e4ytt\u00f6 tunnistaa jopa kohtalaiset kysymykset, joiden sis\u00e4lt\u00f6 on ahdistavaa punaista, mik\u00e4 tekee ongelman SQL:n valitsemisesta eritt\u00e4in helppoa.\n<\/p>\n<h5>\n  Debug Bar<br \/>\n<\/h5>\n<p>\n  Toinen ilmi\u00f6m\u00e4inen v\u00e4line pakkasen maltillisen SQL:n l\u00f6yt\u00e4miseen on vanha, luotettava Debug Bar -moduuli. Debug Bar tarjoaa yhden tiedon WordPressin sis\u00e4isest\u00e4 toiminnasta, kun sivu on ladattu sellaisilla asioilla kuin:\n<\/p>\n<ol>\n<li>WP_Queryn parametrit\n  <\/li>\n<li>Pyyd\u00e4 tietoja (lasketaan uudistuss\u00e4\u00e4nt\u00f6jen koordinointi)\n  <\/li>\n<li>T\u00e4m\u00e4n sivun tuottamat SQL-kyselyt\n  <\/li>\n<\/ol>\n<p>\n  Ottaakseen SQL-seurannan k\u00e4ytt\u00f6\u00f6n virheenkorjauspalkissa k\u00e4ytt\u00e4j\u00e4n tulee sallia SAVEQUERIES jossain sivustossa &#8211; todenn\u00e4k\u00f6isesti osoitteessa wp-config.php\n<\/p>\n<p>\n  Varoitus: SAVEQUERIES vaikuttaa suoritukseen sivustolla, eik\u00e4 sit\u00e4 luultavasti pit\u00e4isi k\u00e4ytt\u00e4\u00e4 sukupolvipalvelimessa. Sit\u00e4 voidaan kuitenkin k\u00e4ytt\u00e4\u00e4 edistyksellisess\u00e4 koneessa.\n<\/p>\n<p>\n  Kohtuullisen SQL:n l\u00f6yt\u00e4minen ei ole \u00e4\u00e4rimm\u00e4isen helppoa Debug Barin avulla. Se ei esimerkiksi anna lajiteltavia taulukoita tai tarjoa kohtuullisia kyselyit\u00e4 k\u00e4ytt\u00e4j\u00e4lle. Debug Bar tarjoaa kapasiteettiseurannan, joka ohjaa k\u00e4ytt\u00e4j\u00e4n tarkasti kysymyksen alkuper\u00e4n suuntaan.\n<\/p>\n<p>\n  T\u00e4m\u00e4 on yhteenveto ladatuista asiakirjoista ja suoritettavan kyselyn tuloksena olevista kapasiteeteista. Useammin kuin ei, yksi on innokas ehdoton jatka osio kulunut; t\u00e4m\u00e4 on paikka, jossa kohtalainen kysymys suoritettiin ja mist\u00e4 mets\u00e4stys tulisi aloittaa. K\u00e4tev\u00e4 asia jokaisen t\u00e4m\u00e4n kysymyksen esitt\u00e4v\u00e4n kapasiteetin asettamisessa on, ett\u00e4 se voi paljastaa k\u00e4sityksen siit\u00e4, miksi SQL joka tapauksessa suoritettiin.\n<\/p>\n<h5>\n  UusiRelic<br \/>\n<\/h5>\n<p>\n  NewRelic on hallinto, joka mittaa ja seuloa verkkosovelluskehityksen toteutusta, mukaan lukien WordPress-sovelluskehitys. Hallinto antaa metrisen m\u00e4\u00e4r\u00e4n tietoa sivuston toteutuksesta. On kaikkea muuta kuin vaikeaa menett\u00e4\u00e4 suunnan tajua tiedoista, jotka NewRelic antaa k\u00e4ytt\u00e4j\u00e4lle joka minuutti yksityiskohtia SQL-kyselyihin.\n<\/p>\n<p>\n  NewRelicin ja aiemmin mainitsemiemme moduulien v\u00e4lill\u00e4 on kaksi huomionarvoista kontrastia:\n<\/p>\n<ol>\n<li>NewRelic antaa paljon enemm\u00e4n tietoa PHP:n suorittamisesta aina kunkin toiminnon suorittamiseen k\u00e4ytetyn ajan tarkkaan laskemiseen asti.\n  <\/li>\n<li>NewRelic seuraa jokaista pyynt\u00f6\u00e4 sivustolle poissa n\u00e4kyvist\u00e4, joten voit viitata siihen my\u00f6hemmin l\u00f6yt\u00e4\u00e4ksesi kohtuullisen SQL:n. Moduulit antavat h\u00e4nelle vain t\u00e4m\u00e4n sivun.\n  <\/li>\n<\/ol>\n<p>\n  On t\u00e4rke\u00e4\u00e4, ett\u00e4 NewReliciss\u00e4 on ilmainen j\u00e4rjestelytaso, joka antaa yleist\u00e4 tietoa sivuston toteutuksesta, mutta joutuu kuitenkin siirtym\u00e4\u00e4n maksulliseen j\u00e4rjestelyyn hienojen kertoimien ja p\u00e4\u00e4tteiden vuoksi yksitt\u00e4isten vaatimusten tarkistamiseksi ja kohtuullisten tiedustelujen l\u00f6yt\u00e4miseksi.\n<\/p>\n<h5>\n  Hitaan kyselyn ymm\u00e4rt\u00e4minen EXPLAIN-sovelluksella<br \/>\n<\/h5>\n<p>\n  T\u00e4h\u00e4n asti laitteet on suojattu kohtuullisten kysymysten l\u00f6yt\u00e4miseksi. T\u00e4ll\u00e4 hetkell\u00e4 pit\u00e4isi tiet\u00e4\u00e4, miksi nuo tiedustelut haittaavat asioita.\n<\/p>\n<p>\n  MySQL EXPLAIN -tunnussana voi auttaa selvent\u00e4m\u00e4\u00e4n, mit\u00e4 tapahtuu. EXPLAIN-komennon lis\u00e4\u00e4minen kyselyn alkuun osoittaa, kuinka MySQL suorittaa kysymyksen. Monimutkaisissa kyselyiss\u00e4 EXPLAIN voi auttaa erottamaan SQL:iss\u00e4 kohtalaiset painopisteet, kuten maltilliset alikyselyt tai turha toiminta.\n<\/p>\n<h5>\n  Hitaiden kyselyjen korjaaminen<br \/>\n<\/h5>\n<p>\n  Koska on ymm\u00e4rretty, ett\u00e4 kyselyt ovat kohtalaisia \u200b\u200bja EXPLAIN on paljastanut k\u00e4ytt\u00e4j\u00e4lle miksi n\u00e4in on, on syyt\u00e4 pohtia paria vaihtoehtoa n\u00e4iden uneliaisten ongelmien korjaamiseksi.\n<\/p>\n<p>\n  <strong>Vaihtoehto 1: Kysymyksen k\u00e4\u00e4nt\u00e4minen<\/strong>\n<\/p>\n<p>\n  Saattaa olla kysymys, joka hidastaa Muokkaa viesti\u00e4 -n\u00e4ytt\u00f6\u00e4. Kysely oli osa Custom Fieldsin metalaatikosta.\n<\/p>\n<p>\n  SQL:n varma osa on meta_keys-listan tuominen ks29so_postmeta-taulukosta, joka ei todenn\u00e4k\u00f6isesti ala alaviivalla. GROUP BY -selitys tarkoittaa, ett\u00e4 jokainen tulos on erityinen.\n<\/p>\n<p>\n  Suorita t\u00e4m\u00e4 kysely useita kertoja, t\u00e4ss\u00e4 on aika, miss\u00e4 m\u00e4\u00e4rin se voi kest\u00e4\u00e4:\n<\/p>\n<p>\n  1,7145 s\n<\/p>\n<p>\n  1,7911 s\n<\/p>\n<p>\n  1,8076 s\n<\/p>\n<p>\n  1,7707 s\n<\/p>\n<p>\n  1,8456 s\n<\/p>\n<p>\n  Voidaan kehitt\u00e4\u00e4 kysely, joka johtaa samanlaisiin tuloksiin. Se on valittava ainutlaatuiseksi meta_keys. Poikkeuksellinen on vastaava sana tietylle, joka sattuu olemaan SQL-selitys!\n<\/p>\n<p>\n  <strong>Vaihtoehto 2: Hakemiston lis\u00e4\u00e4minen<\/strong>\n<\/p>\n<p>\n  Kun k\u00e4ytt\u00e4j\u00e4 suorittaa SQL-kysymyst\u00e4 m\u00e4\u00e4r\u00e4tyss\u00e4 MySQL-taulukossa, h\u00e4nen on tutkittava koko taulukko ymm\u00e4rt\u00e4\u00e4kseen, mitk\u00e4 rivit ovat t\u00e4rkeit\u00e4 tietyn kyselyn kannalta. Siin\u00e4 vaiheessa, kun p\u00f6yt\u00e4 kasvaa valtavaksi, tarkastus alkaa kest\u00e4\u00e4 melkoisen kauan.\n<\/p>\n<p>\n  Siell\u00e4 MySQL-tietueet tulevat sis\u00e4\u00e4n. Listat ottavat tiedot taulukossa ja j\u00e4rjest\u00e4v\u00e4t sen siten, ett\u00e4 tiedon l\u00f6yt\u00e4minen on paljon v\u00e4hemm\u00e4n vaativaa. Lajittelemalla tiedot tietyll\u00e4 tavalla tiedostot auttavat v\u00e4hent\u00e4m\u00e4\u00e4n MySQL:n kunkin kyselyn suodatuksen m\u00e4\u00e4r\u00e4\u00e4.\n<\/p>\n<p>\n  Tiedostot voidaan lis\u00e4t\u00e4 yksitt\u00e4isiin segmentteihin tai eri osioihin.\n<\/p>\n<p>\n  Kun tiedosto on meta_key, ensimm\u00e4inen SQL-kyselytunti muistuttaa hieman t\u00e4t\u00e4:\n<\/p>\n<p>\n  0,0041 s\n<\/p>\n<p>\n  0,0023 sekuntia\n<\/p>\n<p>\n  0,0030 sekuntia\n<\/p>\n<p>\n  0,0025 sekuntia\n<\/p>\n<p>\n  0,0019 sekuntia\n<\/p>\n<p>\n  T\u00e4m\u00e4 on eritt\u00e4in \u00e4lyk\u00e4st\u00e4.\n<\/p>\n<p>\n  H\u00e4lytyksen ilmaus tiedostoissa: Aina kun INSERT tekee sarakkeen tai UPDATE-toimintoa k\u00e4ytet\u00e4\u00e4n af-taulukossa, luettelo m\u00e4\u00e4ritet\u00e4\u00e4n uudelleen, mik\u00e4 voi olla kallista toimintaa. Tietueet nopeuttavat lukemista taulukosta, mutta siihen kirjoittaminen on hitaampaa. Vaikka oikein sijoitettu hakemistolista voi toimia eritt\u00e4in hyvin, siihen ei pid\u00e4 olla pakkomielle tarkistamatta listan yleisi\u00e4 vaikutuksia tietokantaan.\n<\/p>\n<p>\n  <strong>Vaihtoehto 3: Tallenna kyselyn tulokset v\u00e4limuistiin<\/strong>\n<\/p>\n<p>\n  Kun on tajuttu, ett\u00e4 on maltillinen kysymys. Kysymyksen muuttamisen sijaan voi olla skenaario, jossa se vain poistaa tutkimuksen j\u00e4lkivaikutukset. T\u00e4ll\u00e4 tavalla kyselyn suorittamisen s\u00e4\u00e4nn\u00f6llisyytt\u00e4 rajoitettaisiin ja h\u00e4n saisi useammin &#8221;ilmaispassin&#8221;.\n<\/p>\n<p>\n  WordPress Transients API on yksi tavoista varata kyselyt. Transientteja hy\u00f6dynnet\u00e4\u00e4n kalliiden teht\u00e4vien seurausten poistamiseen, esim.\n<\/p>\n<ul>\n<li>Pyynn\u00f6t ulkopuolisille sivustoille (esimerkiksi meneill\u00e4\u00e4n olevien Facebook-viestien saaminen)\n  <\/li>\n<li>Hidasta k\u00e4sittely\u00e4 (esimerkiksi valtavien kielten etsiminen tavanomaisella artikulaatiolla)\n  <\/li>\n<li>Hitaat tietokantakyselyt!\n  <\/li>\n<\/ul>\n<h5>\n  L\u00e4hestymistavan valitseminen<br \/>\n<\/h5>\n<p>\n  On olemassa useita vaihtoehtoja, ja on todenn\u00e4k\u00f6isimmin seitsem\u00e4ntoista eri l\u00e4hestymistapaa t\u00e4m\u00e4n maltillisen tutkimuksen ymm\u00e4rt\u00e4miseksi. Kumpaa l\u00e4hestymistapaa pit\u00e4isi ottaa?\n<\/p>\n<p>\n  Vaihtoehto 1 (kysymyksen muuttaminen) tuotti loistavia tuloksia. On kuitenkin otettava huomioon se mahdollisuus, ett\u00e4 muutetulla kyselyll\u00e4 ei yleens\u00e4 ole samanlaisia \u200b\u200btuloksia. Koodi voisi tahattomasti ummistaa hieman sivullisella kysymyksell\u00e4.\n<\/p>\n<p>\n  Vaihtoehto 2 (mukaan lukien tietue) ei ole jatkuvasti ajateltavissa kyselyn k\u00e4ytt\u00e4m\u00e4n taulukon ja osioiden perusteella. WordPress-sovelluskehityskeskuksen taulukoiden vuoksi olisi syyt\u00e4 korostaa muita tietueiden vaikutuksia:\n<\/p>\n<ul>\n<li>Odottaako keskustan virkistysrutiini lis\u00e4luetteloita?\n  <\/li>\n<li>Hidastaako tiedoston lis\u00e4\u00e4minen erilaisia \u200b\u200bkyselyj\u00e4, kuten INSERT ja UPDATE?\n  <\/li>\n<\/ul>\n<p>\n  Vaihtoehto 3 (tulosten varaaminen kodittomien avulla) on merkitykset\u00f6n \u2013 k\u00e4ytt\u00e4j\u00e4n ei tarvitse muuttaa ensimm\u00e4ist\u00e4 kysely\u00e4 eik\u00e4 tietokannan rakennetta tarvitse muuttaa.\n<\/p>\n<p>\n  Yleens\u00e4 ihmiset valitsevat vaihtoehdon 3. H\u00e4n voi tietyss\u00e4 tapauksessa valita toisen vaihtoehdon korjaamaansa kysymykseen tai tiettyyn sivustoon, jossa on SQL-ongelmia. Useimpiin toteutusongelmiin ei todellakaan ole olemassa yht\u00e4 ainoaa toimenpidett\u00e4, joka sopisi kaikille, joten saa olla eri mielt\u00e4 toisen p\u00e4\u00e4t\u00f6ksest\u00e4 \u2013 tai yrit\u00e4 jokaista kolmesta ilman hetkenk\u00e4\u00e4n viivytyst\u00e4!\n<\/p>\n<h5>\n  Pysyt\u00e4\u00e4n ajan tasalla<br \/>\n<\/h5>\n<p>\n  Se on hahmotellut t\u00e4\u00e4ll\u00e4 todellisen ongelman. CSS-Tricksin mukautetut kent\u00e4t -laatikko todellakin loukkasi joitakin eritt\u00e4in maltillisia tietokantakyselyit\u00e4. Se on my\u00f6s hahmotellut erilaisia \u200b\u200btapoja kohti mahdollisia j\u00e4rjestelyj\u00e4.\n<\/p>\n<p>\n  <strong>Uusien ideoiden keksiminen<\/strong>\n<\/p>\n<p>\n  On olemassa erilaisia \u200b\u200bmenetelmi\u00e4, joiden avulla voit yritt\u00e4\u00e4 ja nopeuttaa kysymyksen suorittamista ja jotka sis\u00e4lt\u00e4v\u00e4t enemm\u00e4n ty\u00f6t\u00e4 kuin vain kyselyn s\u00e4\u00e4t\u00e4mist\u00e4 tai luettelon lis\u00e4\u00e4mist\u00e4. Yksi kysymyksen hitaimmista osista on ty\u00f6, joka tehd\u00e4\u00e4n taulukoiden yhdist\u00e4miseksi asiakastunnuksesta tuotetunnukseksi, ja t\u00e4m\u00e4 on teht\u00e4v\u00e4 jokaiselle asiakkaalle.\n<\/p>\n<p>\n  Tiedot voitaisiin denormalisoida tekem\u00e4ll\u00e4 taulukko, joka tallentaa lupatiedot kaikkien lisenssien asiakastunnuksen ja tuotetunnuksen ohella, ja yksinkertaisesti tiedustelemalla niit\u00e4 tietyn asiakkaan osalta. Pit\u00e4isi muokata taulukkoa k\u00e4ytt\u00e4m\u00e4ll\u00e4 MySQL-liipaisimia kohdassa INSERT\/UPDATE\/DELETE lisenssitaulukkoon (tai muihin, jotka luottavat siihen, miten tiedot voivat muuttua), mutta t\u00e4m\u00e4 parantaisi merkitt\u00e4v\u00e4sti kyseisten tietojen kyseenalaistamista.\n<\/p>\n<p>\n  Siten, jos useat liitokset hillitsev\u00e4t kysymyst\u00e4 MySQL:ss\u00e4, voi olla nopeampaa jakaa kysely v\u00e4hint\u00e4\u00e4n kahteen artikulaatioon ja suorittaa ne itsen\u00e4isesti PHP:ss\u00e4 ja sen j\u00e4lkeen ker\u00e4t\u00e4 ja kanavoida tulokset koodissa.\n<\/p>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  : instantshift.com\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Kohtalaiset SQL-kyselyt voivat h\u00e4irit\u00e4 WordPress-sovelluskehityssivuston suoritusta. Joskus maltilliset kyselyt ovat seurausta riitt\u00e4m\u00e4tt\u00f6m\u00e4sti rakenteellisesta SQL:st\u00e4, jota ei olisi koskaan pit\u00e4nyt tehd\u00e4 sill\u00e4 tavalla. Lis\u00e4ksi joissakin tapauksissa maltilliset tiedustelut olivat todellisuudessa nopeita kysymyksi\u00e4 tietyss\u00e4 vaiheessa \u2013 mutta sivuston kehittyess\u00e4 kysely hidastui ja hidastui, ei voimaton pysy\u00e4 tietoisena laajenevasta tietokannasta. Huolimatta siit\u00e4, kuinka SQL:st\u00e4 tuli maltillinen, kannattaa tutkia pari tapaa l\u00f6yt\u00e4\u00e4 ja korjata ongelmakysymyksi\u00e4 WordPress-sovelluskehityksess\u00e4. Siell\u00e4 t\u00e4\u00e4ll\u00e4 saattaa tarvita tietty\u00e4 verkkoa\u2026<\/p>\n","protected":false},"author":1,"featured_media":204810,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[222,53,196,144],"tags":[],"class_list":["post-250052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oppikirjoja","category-web-ja-wordpress-2","category-web-suunnittelu","category-web-vinkkeja-ja-vinkkeja"],"_links":{"self":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/250052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/comments?post=250052"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/250052\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media\/204810"}],"wp:attachment":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media?parent=250052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/categories?post=250052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/tags?post=250052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}