{"id":233564,"date":"2023-02-17T20:35:00","date_gmt":"2023-02-17T17:35:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233564"},"modified":"2022-11-11T00:21:52","modified_gmt":"2022-11-10T21:21:52","slug":"wordpress-teeman-opetusohjelma-aloittelijoille-osa-2-mallit","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-teeman-opetusohjelma-aloittelijoille-osa-2-mallit\/","title":{"rendered":"WordPress-teeman opetusohjelma aloittelijoille \u2013 Osa 2: Mallit"},"content":{"rendered":"\n<p>T\u00e4m\u00e4 WordPress-teeman opetusohjelman aloittelijoille oppitunti opettaa sinulle, kuinka voit j\u00e4sent\u00e4\u00e4 teeman p\u00e4\u00e4rakennuspalikoita ja aloittaa mallien luomisen. Aloitamme HTML-tulosteen luomisen ja rakennuspalikoiden sis\u00e4llytt\u00e4misen teemamme malleihin. Edellisess\u00e4 <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-1-introduction\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">vaiheessa<\/a> m\u00e4\u00e4ritimme WordPress-teeman v\u00e4himm\u00e4ism\u00e4\u00e4r\u00e4n ja aktivoimme sen. Mutta t\u00e4ll\u00e4 hetkell\u00e4 se ei toimi kovinkaan paljon, eik\u00e4 se edes sis\u00e4ll\u00e4 kelvollista HTML-koodia verkkosivulle. Korjataan se.<\/p>\n<h2>Yl\u00e4- ja alatunnisteen (ja sivupalkin) rakennuspalikoita<\/h2>\n<p>Mallitiedostoissamme tarvitsemme kelvollisen HTML:n. Voisimme kirjoittaa t\u00e4ydellisen HTML-rakenteen (alkaen kirjaimella <code>&lt;html&gt;<\/code>, <code>&lt;head&gt;<\/code>ja koko <code>&lt;body&gt;<\/code>) kielell\u00e4 <code>index.php<\/code>, mutta t\u00e4st\u00e4 tulee ep\u00e4k\u00e4yt\u00e4nn\u00f6llist\u00e4, kun yll\u00e4pidet\u00e4\u00e4n useita mallitiedostoja teemassasi. Kuvittele, ett\u00e4 olet luonut joukon malleja ja huomaa sitten, ett\u00e4 tarvitset pienen muutoksen otsikkoosaan. sinun on sitten muokattava kaikkia malleja, jotta ne pysyv\u00e4t johdonmukaisina. T\u00e4m\u00e4 ei ole \u00e4lyk\u00e4st\u00e4.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152898-61e4fe239fa73.jpg\" 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-152898-61e4fe239fa73.jpg\" alt=\"WordPress-teeman opetusohjelma aloittelijoille \u2013 Osa 2: Mallit\" ><\/a><\/p>\n<p>Ratkaisu on jakaa koko HTML-rakenne j\u00e4rkeviin osiin; rakennuspalikoita. Jokainen lohko on omassa tiedostossaan, ja aina kun tarvitsemme niit\u00e4 malliin, sis\u00e4llyt\u00e4mme ne. Yleisimm\u00e4t ja j\u00e4rkevimm\u00e4t lohkot ovat yksi yl\u00e4tunnisteelle, yksi alatunnisteelle ja yksi sis\u00e4ll\u00f6lle, mutta jos teemassasi on sivupalkki, my\u00f6s sivupalkin tulisi olla erillinen rakennus.<\/p>\n<p>Ne teist\u00e4, jotka tuntevat PHP:n paremmin, tuntevat todenn\u00e4k\u00f6isesti menetelm\u00e4t <code>include()<\/code>tai <code>require()<\/code>. Teemme juuri n\u00e4in, mutta k\u00e4yt\u00e4mme WordPressin toimintoja muiden tiedostojen sis\u00e4llytt\u00e4miseen, koska niill\u00e4 on lis\u00e4etuja.<\/p>\n<p>T\u00e4ll\u00e4 oppitunnilla luomme yl\u00e4tunnisteen, alatunnisteen ja sivupalkin rakennuspalikoihin. Sivupalkit ovat kuitenkin v\u00e4hentyneet verkkosivuilla, mutta otamme silti k\u00e4ytt\u00f6\u00f6n oikean sivupalkin teemassamme. N\u00e4m\u00e4 kolme rakennusosaa ovat yleinen k\u00e4yt\u00e4nt\u00f6 kaikissa WordPress-teemoissa \u2013 ja se on itse asiassa niin yleist\u00e4, ett\u00e4 WordPress tarjoaa automaation n\u00e4ihin kolmeen asiaan.<\/p>\n<h2>Yl\u00e4-, alatunniste- ja sivupalkkimallien luominen<\/h2>\n<p>Luodaan uusi tyhj\u00e4 tiedosto nimelt\u00e4 <code>header.php<\/code>teemakansioomme. Lis\u00e4\u00e4mme toistaiseksi hyvin perus-HTML-koodia (\u00e4l\u00e4 huoli, lis\u00e4\u00e4mme oikeaa HTML-koodia my\u00f6hemmin).<\/p>\n<pre><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"utf-8\"&gt;\n        &lt;title&gt;A White Pixel Theme&lt;\/title&gt;\n    &lt;\/head&gt;\n&lt;body&gt;<\/code><\/pre>\n<p>Luo uusi tiedosto nimelt\u00e4 <code>footer.php<\/code>teemahakemistosi. Tarvitsemme (toistaiseksi) t\u00e4ss\u00e4 tiedostossa vain HTML-rakenteen sulkemisen.<\/p>\n<pre><code>    &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Ja lopuksi luo uusi tyhj\u00e4 tiedosto nimelt\u00e4 <code>sidebar.php<\/code>. Lis\u00e4\u00e4mme <code>&lt;aside&gt;<\/code>sis\u00e4\u00e4n vain HTML-tunnisteen.<\/p>\n<pre><code>&lt;aside class=\"sidebar\"&gt;\n&lt;\/aside&gt;<\/code><\/pre>\n<h2>Mukaan lukien rakennuspalikat<\/h2>\n<p>Palataan <code>index.php<\/code>tiedostoomme. Meid\u00e4n tarvitsee nyt vain kertoa WordPressille, mihin haluamme sis\u00e4llytt\u00e4\u00e4 yl\u00e4- ja alatunnistetiedoston. Ilmeisesti haluamme ladata otsikon t\u00e4m\u00e4n tiedoston alkuun ja alatunnisteen aivan loppuun.<\/p>\n<p>WordPress tarjoaa yksinkertaisia \u200b\u200btoimintoja n\u00e4iden rakennuspalikoiden sis\u00e4llytt\u00e4miseen; <code>get_header()<\/code>ja <code>get_footer()<\/code>vastaavasti yl\u00e4- ja alatunnistetiedostolle. Aika intuitiivista eik\u00f6? Lis\u00e4t\u00e4\u00e4n ne index.php-tiedostoomme ja katsotaan mit\u00e4 tapahtuu.<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\nHello :)\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>P\u00e4ivit\u00e4 k\u00e4ytt\u00f6liittym\u00e4si ja tarkasta tai tarkastele HTML-l\u00e4hdett\u00e4 n\u00e4hd\u00e4ksesi, ett\u00e4 olemme yhdist\u00e4neet useita rakennuspalikoita t\u00e4ydelliseksi HTML-rakenteeksi.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152898-61e4fe24646c7.gif\" 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-152898-61e4fe24646c7.gif\" alt=\"WordPress-teeman opetusohjelma aloittelijoille \u2013 Osa 2: Mallit\" ><\/a><\/p>\n<p>Nyt voit vapaasti muokata sis\u00e4ll\u00f6n <code>index.php<\/code>yl\u00e4- ja alatunnisteesta riippumatta!<\/p>\n<p>Otetaan mukaan my\u00f6s sivupalkki. Muista, ett\u00e4 teemassasi kannattaa harkita tapauksia ja malleja, joissa et halua sivupalkkia, esimerkiksi etusivulle.<\/p>\n<p>Sivupalkin sis\u00e4llytt\u00e4minen on yht\u00e4 helppoa kuin yl\u00e4- ja alatunniste; t\u00e4t\u00e4 varten k\u00e4yt\u00e4mme <code>get_sidebar()<\/code>. Lis\u00e4t\u00e4\u00e4n se index.php:hen juuri ennen alatunnisteen saamista.<\/p>\n<pre><code>&lt;?php get_header(); ?&gt;\nHello :)\n&lt;?php get_sidebar(); ?&gt;\n&lt;?php get_footer(); ?&gt;<\/code><\/pre>\n<p>P\u00e4ivit\u00e4 ja sinun pit\u00e4isi n\u00e4hd\u00e4 HTML-l\u00e4hdekoodi, mukaan lukien meid\u00e4n <code>&lt;aside&gt;<\/code>. \u00c4l\u00e4 huoli, my\u00f6hemm\u00e4ss\u00e4 vaiheessa opimme muuttamaan sen todelliseksi sivupalkkialueeksi, johon voit sijoittaa widgetej\u00e4.<\/p>\n<p>Teemamme on t\u00e4ll\u00e4 hetkell\u00e4 melko staattinen. T\u00e4m\u00e4n WordPress-teeman opetussarjan <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-3-dynamic-content\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">seuraavalla oppitunnilla<\/a> alamme vihdoin sukeltaa kunnolla WordPressin toimintoihin, jotta voimme ladata sis\u00e4lt\u00f6\u00e4 ja tietoja WordPressist\u00e4 dynaamisesti malleihimme.<\/p>\n<h2>Dokumentaatio k\u00e4ytetyist\u00e4 menetelmist\u00e4<\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_header\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">get_header<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_footer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">get_footer<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_sidebar\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">get_sidebar<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/awhitepixel.com\" class=\"external external_icon\">awhitepixel.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4m\u00e4 oppitunti opettaa sinulle, miten WordPress-teeman p\u00e4\u00e4rakennusmallit rakennetaan. Aloitamme t\u00e4rkeimpien mallien luomisen.<\/p>\n","protected":false},"author":1,"featured_media":224083,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[927,895,719,719,895,1110,834,843,834,927,843,864,864],"tags":[1166],"class_list":["post-233564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aiheita","category-koodi","category-kehittaejae","category-n-a","category-opas-aloittelijoille","category-opetusohjelmia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/233564","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=233564"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/233564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/224083"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=233564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=233564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=233564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}