{"id":230440,"date":"2022-11-25T17:59:00","date_gmt":"2022-11-25T14:59:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230440"},"modified":"2022-11-25T18:18:42","modified_gmt":"2022-11-25T15:18:42","slug":"lisaeosien-ja-teemojen-kehittaeminen-wordpress-runkoa-vastaan","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/lisaeosien-ja-teemojen-kehittaeminen-wordpress-runkoa-vastaan\/","title":{"rendered":"Lis\u00e4osien ja teemojen kehitt\u00e4minen WordPress-runkoa vastaan"},"content":{"rendered":"\n<p>Kun kehit\u00e4t laajennuksia tai teemoja WordPressille, yksi usein suosittelemistani strategioista on tehd\u00e4 se WordPressin runkoa (tai nykyist\u00e4 koodin tilannekuvaa) vastaan.<\/p>\n<p>Niille, jotka ovat kokeneempia kehitt\u00e4ji\u00e4, olet jo ajan tasalla kielenk\u00e4yt\u00f6ss\u00e4 ja t\u00e4m\u00e4n tekemiseen liittyviss\u00e4 varoituksissa. Mutta jos olet joku, joka etsii tapoja parantaa kehitysk\u00e4yt\u00e4nt\u00f6j\u00e4\u00e4n, ehk\u00e4 t\u00e4m\u00e4 auttaa.<\/p>\n<p>Muista, ett\u00e4 koska WordPress on avoimen l\u00e4hdekoodin ohjelmisto, voit tarkastella l\u00e4hdekoodia verkossa <strong><a href=\"https:\/\/core.trac.wordpress.org\/browser\/trunk\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">milloin tahansa<\/a><\/strong>.<\/p>\n<p>Ei vain sit\u00e4, vaan voit my\u00f6s ladata sen paikalliselle tietokoneellesi ja ty\u00f6skennell\u00e4 sen kanssa. T\u00e4m\u00e4 vaatii tiettyj\u00e4 ohjelmistoja, ja palaan niihin hetkeksi; t\u00e4m\u00e4n viestin perimm\u00e4inen tarkoitus on kuitenkin puhua:<\/p>\n<ul>\n<li>kuinka k\u00e4sitell\u00e4 nykyist\u00e4 tilannekuvaa koodista WordPressill\u00e4,<\/li>\n<li>miten ja miksi t\u00e4m\u00e4n koodikannan k\u00e4ytt\u00e4minen voi olla hy\u00f6dyllist\u00e4 ty\u00f6skennelless\u00e4\u00e4n projekteissa muille.<\/li>\n<\/ul>\n<p>Kuten edell\u00e4 mainittiin, t\u00e4m\u00e4n tekemiseen liittyy varoituksia, ja joskus on hyv\u00e4 idea k\u00e4ytt\u00e4\u00e4 koodikannan uusinta vakaata versiota. Ja k\u00e4sittelen sit\u00e4 my\u00f6s my\u00f6hemmin artikkelissa.<\/p>\n<h2>Kehitet\u00e4\u00e4n WordPress-runkoa vastaan<\/h2>\n<p>Ennen aloittamista on t\u00e4rke\u00e4\u00e4, ett\u00e4 Subversion tai Subversion-asiakasohjelma on asennettuna. Jos k\u00e4yt\u00e4t paketinhallintaa, kuten Homebrew&#8217;ta, ohjelmistojen k\u00e4sittelyyn, komentoriviasiakkaan asentaminen on yht\u00e4 helppoa kuin t\u00e4m\u00e4n kirjoittaminen terminaaliin:<\/p>\n<pre><code>$ brew install subversion<\/code><\/pre>\n<p>Voit lukea lis\u00e4\u00e4 Homebrew&#8217;sta ja paketinhaltijoista <strong><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-kehitysympaeristoe-kaeyttaemaellae-paketinhallintaa\/\" title=\"aiemmissa viesteiss\u00e4\">aiemmissa viesteiss\u00e4<\/a><\/strong> ; saatat kuitenkin haluta k\u00e4ytt\u00e4\u00e4 jotain, kuten <strong><a href=\"https:\/\/versionsapp.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Versions<\/a><\/strong> tai <strong><a href=\"https:\/\/cornerstone.assembla.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Cornerstone<\/a><\/strong>, jos haluat k\u00e4ytt\u00e4\u00e4 k\u00e4ytt\u00f6liittym\u00e4\u00e4.<\/p>\n<h3>1 Lataa uusin koodi<\/h3>\n<p>T\u00e4ss\u00e4 vaiheessa voit ladata uusimman tilannevedoksen WordPress-koodikannasta t\u00e4ll\u00e4 komennolla:<\/p>\n<pre><code>$ svn co https:\/\/core.svn.wordpress.org\/trunk\/ .<\/code><\/pre>\n<p>Jos toisaalta k\u00e4yt\u00e4t k\u00e4ytt\u00f6liittym\u00e4\u00e4, voit k\u00e4ytt\u00e4\u00e4 seuraavaa URL-osoitetta valitsemassasi asiakasohjelmassa arkiston selaamiseen:<\/p>\n<pre><code>https:\/\/core.svn.wordpress.org\/trunk<\/code><\/pre>\n<p>Lataa t\u00e4\u00e4lt\u00e4 runkohakemiston sis\u00e4lt\u00f6 <strong>tietokoneellesi<\/strong> ja valmistaudu asentamaan se tietokoneellesi.<\/p>\n<p>Tai k\u00e4ytt\u00e4m\u00e4ll\u00e4 valitsemaasi k\u00e4ytt\u00f6liittym\u00e4\u00e4:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164358-61e763df08feb.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164358-61e763df08feb.png\" alt=\"Lis\u00e4osien ja teemojen kehitt\u00e4minen WordPress-runkoa vastaan\"><\/a><\/p>\n<p>Voit tehd\u00e4 t\u00e4m\u00e4n varmistamalla, ett\u00e4 sinulla on valmiina tietokanta ja k\u00e4y sitten l\u00e4pi standardi asennusprosessi.<\/p>\n<p>Voit lukea sen <strong><a href=\"https:\/\/codex.wordpress.org\/Installing_WordPress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tekemisest\u00e4 Codexista<\/a><\/strong> tai <strong><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-kehitysympaeristoe-kaeyttaemaellae-paketinhallintaa\/\" title=\"t\u00e4st\u00e4 viestist\u00e4\">t\u00e4st\u00e4 viestist\u00e4<\/a><\/strong>.<\/p>\n<h3>2 M\u00e4\u00e4rit\u00e4 virheenkorjaustila<\/h3>\n<p>Kun se on asennettu, suosittelen asettamaan WordPressin virheenkorjaustilaan, jotta n\u00e4et tiedot sek\u00e4 virheenkorjauslokeissa ett\u00e4 selaimessasi.<\/p>\n<p>Voit tehd\u00e4 t\u00e4m\u00e4n avaamalla <strong>wp-config.php<\/strong> ja vaihtamalla rivin, jossa lukee:<\/p>\n<pre><code>define( 'WP_DEBUG', false );<\/code><\/pre>\n<p>Lukea:<\/p>\n<pre><code>define( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', false );\n@ini_set( 'display_errors', 0 );\ndefine( 'SCRIPT_DEBUG', true );<\/code><\/pre>\n<p>T\u00e4st\u00e4 eteenp\u00e4in aina kun ty\u00f6skentelet koodin kanssa, n\u00e4et tiedot tulostettuna n\u00e4yt\u00f6lle ja <strong>debug.logiin<\/strong> kirjoitettuja tietoja voit tarkastella haluamassasi tekstieditorissa tai konsolissa.<\/p>\n<p>T\u00e4m\u00e4 ei tarkoita, ettei sinulla pit\u00e4isi olla Xdebugin kaltaista ty\u00f6kalua asennettuna, mutta se on sis\u00e4lt\u00f6\u00e4 <strong><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/xdebugin-kaeyttoe-valetin-ja-wordpressin-kanssa\/\" title=\"toiselle\">toiselle<\/a><\/strong> viestille .<\/p>\n<h3>3 K\u00e4yt\u00e4 oikeita hakemistoja<\/h3>\n<p>Nyt kun WordPress on asennettu ja olet valmis ty\u00f6skentelem\u00e4\u00e4n projektisi parissa, huomioi, k\u00e4yt\u00e4tk\u00f6 laajennuksia tai teemoja vai et. Luonnollisesti l\u00f6yd\u00e4t jokaisen kohdasta <strong>wp-content\/plugins<\/strong> tai <strong>wp-content\/themes<\/strong>.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164358-61e763e2b5e39.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164358-61e763e2b5e39.png\" alt=\"Lis\u00e4osien ja teemojen kehitt\u00e4minen WordPress-runkoa vastaan\"><\/a><\/p>\n<p>Oletetaan esimerkiksi, ett\u00e4 ty\u00f6skentelet laajennuksen parissa, ja aiot s\u00e4ilytt\u00e4\u00e4 laajennuksen laajennusten hakemistossa. Minun tapauksessani, kuten yll\u00e4 olevasta kuvakaappauksesta n\u00e4et, k\u00e4yt\u00e4n <strong><a href=\"https:\/\/tommcfarlin.com\/scheduled-post-shortcut-1-5-0\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Scheduled Post Shortcut<\/a><\/strong> -pikakuvaketta runkoa vastaan.<\/p>\n<h2>Sana stabiileista versioista<\/h2>\n<p>Aina kun ty\u00f6skentelet laajennuksen tai teeman kanssa ja yrit\u00e4t ty\u00f6skennell\u00e4 niiden kanssa vakaata WordPress-versiota vastaan, voit tehd\u00e4 valinnan:<\/p>\n<ul>\n<li>vastustaa vakaata koodin versiota, joka on saatavilla osoitteessa WordPress.org,<\/li>\n<li>vastustaa pikakuvaa rungossa olevasta koodista.<\/li>\n<\/ul>\n<p>Jos k\u00e4yt\u00e4t edellist\u00e4, tied\u00e4t, ett\u00e4 koodisi toimii uusimman vakaan version kanssa. Mutta jos p\u00e4\u00e4t\u00e4t ty\u00f6skennell\u00e4 j\u00e4lkimm\u00e4isen kanssa, tied\u00e4t, ett\u00e4 koodisi toimii tulevan WordPress-version kanssa.<\/p>\n<p>Mutta t\u00e4ss\u00e4 on varoitus: asiat voivat vaihdella tavaratilassa olevan ja lopulta vapautetun v\u00e4lill\u00e4. Joten jos aiot ty\u00f6skennell\u00e4 rungon kanssa, muista, ett\u00e4 sinun on testattava ty\u00f6t\u00e4si koodin suhteen, kunnes ydintiimi merkitsee trunkin vakaaksi versioksi.<\/p>\n<p>Toisaalta, heti kun he tekev\u00e4t, sinulla on projektisi toimiva versio valmiina, kun he toimittavat WordPressin.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Opas kehitt\u00e4miseen WordPress-runkoa vastaan, mik\u00e4 voi olla hyv\u00e4 idea laajennuksille tai teemoille. Viime k\u00e4dess\u00e4 t\u00e4m\u00e4 voi auttaa lis\u00e4\u00e4m\u00e4\u00e4n yhteensopivuutta projektiesi kanssa.<\/p>\n","protected":false},"author":1,"featured_media":164359,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,843,864],"tags":[1166],"class_list":["post-230440","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-opetusohjelmia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=230440"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230440\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/164359"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}