{"id":232204,"date":"2023-01-09T19:37:00","date_gmt":"2023-01-09T16:37:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232204"},"modified":"2022-11-10T08:04:29","modified_gmt":"2022-11-10T05:04:29","slug":"muuttujien-vaelittaeminen-wordpress-malliin-tehokkaasti","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/muuttujien-vaelittaeminen-wordpress-malliin-tehokkaasti\/","title":{"rendered":"Muuttujien v\u00e4litt\u00e4minen WordPress-malliin tehokkaasti"},"content":{"rendered":"<p>Yksi haaste, jota teeman tai laajennuksen kehitt\u00e4j\u00e4t kohtaavat, <code>get_template_part<\/code>on kyvytt\u00f6myys v\u00e4litt\u00e4\u00e4 muuttujia ladatulle WordPress-mallille. Vaihtoehtoinen k\u00e4ytt\u00f6 on kuitenkin olemassa <code>locate_template<\/code>.<\/p>\n<h3>Yleiskatsaus<\/h3>\n<p>T\u00e4ss\u00e4 esimerkiss\u00e4 n\u00e4yt\u00e4mme kolme <a href=\"https:\/\/easydigitaldownloads.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Easy Digital Download<\/a> -merkint\u00e4\u00e4. Olen k\u00e4ytt\u00e4nyt EDD:t\u00e4 jo jonkin aikaa ja vaikka siin\u00e4 on paljon ominaisuuksia, se on silti yll\u00e4tt\u00e4v\u00e4n kevyt.<\/p>\n<p>Haemme merkinn\u00e4t ja tallennamme ne muuttujaan <code>$edd_download<\/code>. Lataamme sitten muuttujan <a href=\"https:\/\/startfunction.com\/category\/wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v\u00e4litt\u00e4v\u00e4n WordPress -mallin.<\/a> Itse asiassa muuttujan v\u00e4litt\u00e4minen tarkoittaa liikaa: lataamme mallin tavalla, jolla <code>$edd_download<\/code>muuttujalla on oikea laajuus k\u00e4ytett\u00e4v\u00e4ksi ladatussa mallissa.<\/p>\n<h3>Ladataan WordPress-mallia<\/h3>\n<p>T\u00e4m\u00e4 koodi voidaan sijoittaa funktioon. Voit sitten liitt\u00e4\u00e4 funktion johonkin teemasi alueeseen toimintokoukun avulla tai kutsua funktiota yksinkertaisesti mallitunnisteeksi. Teemoissani k\u00e4yt\u00e4n koukkuja, jotta k\u00e4ytt\u00e4j\u00e4t voivat my\u00f6hemmin lis\u00e4t\u00e4 tai poistaa sis\u00e4lt\u00f6\u00e4. T\u00e4m\u00e4 on kaikki mit\u00e4 tarvitsemme koodia varten:<\/p>\n<pre><code> 'download',\n    'posts_per_page' =&gt; 3,) );\n\nif ($edd_download) {\n\n    $part = locate_template( 'parts\/download-home.php' );\n    if ('' != $part) {\n\n        require $part;\n    }\n}<\/code><\/pre>\n<h3>Mallin koodi<\/h3>\n<p>Nyt tarvitsemme WordPress-mallitiedoston. Jos huomaat yll\u00e4 olevan kutsun, se <code>locate_template<\/code>odottaa l\u00f6yt\u00e4v\u00e4ns\u00e4 tiedoston teemakansion hakemistosta <code>download-home.php<\/code>.<code>parts<\/code><\/p>\n<p>Meid\u00e4n on aina muistettava soittaa <code>wp_reset_postdata()<\/code>foreach-silmukan j\u00e4lkeen, jos soitimme <code>setup_postdata()<\/code>.<\/p>\n<h3>Loppusanat<\/h3>\n<p>Joten miksi t\u00e4m\u00e4 on hy\u00f6dyllist\u00e4 kaiken t\u00e4m\u00e4n j\u00e4lkeen? koska k\u00e4ytt\u00e4j\u00e4t voivat luoda mallin alatason teemaan ja helposti ohittaa alkuper\u00e4isen mallin. Kyse on k\u00e4ytt\u00e4jien el\u00e4m\u00e4n helpottamisesta. Toki t\u00e4m\u00e4 voidaan saavuttaa my\u00f6s suodattimilla tai liitett\u00e4vien toimintojen luomisella, mutta jotkut k\u00e4ytt\u00e4j\u00e4t saattavat pit\u00e4\u00e4 yhteen teht\u00e4v\u00e4\u00e4n keskittyv\u00e4n mallin muokkaamista puhtaampana l\u00e4hestymistapana kuin k\u00e4sitell\u00e4 tiedostoa, jossa on paljon toimintoja useille erilaisille ja toisiinsa liittym\u00e4tt\u00f6mille teht\u00e4ville.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Opi siirt\u00e4m\u00e4\u00e4n muuttujia tehokkaasti WordPress-malliin ja k\u00e4ytt\u00e4m\u00e4\u00e4n niit\u00e4 siin\u00e4<\/p>\n","protected":false},"author":1,"featured_media":157983,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[1018,719,895,917,834,843,864],"tags":[1166],"class_list":["post-232204","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hyodyllisia-sivustoja","category-kehittaejae","category-koodi","category-muut","category-opas-aloittelijoille","category-opetusohjelmia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232204","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=232204"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232204\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/157983"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}