{"id":233366,"date":"2023-02-12T17:17:00","date_gmt":"2023-02-12T14:17:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233366"},"modified":"2022-11-10T20:42:04","modified_gmt":"2022-11-10T17:42:04","slug":"gutenbergin-lohkokuviot-kehittaejaen-ilme","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/gutenbergin-lohkokuviot-kehittaejaen-ilme\/","title":{"rendered":"Gutenbergin lohkokuviot: Kehitt\u00e4j\u00e4n ilme"},"content":{"rendered":"\n<p>Katsaus WordPress Gutenbergin uusiin lohkomalleihin kehitt\u00e4j\u00e4n silmiss\u00e4. Tutkimme, mit\u00e4 ne ovat, mihin niit\u00e4 voidaan k\u00e4ytt\u00e4\u00e4, ja tarkastelemme tarkemmin, kuinka niille kirjoitetaan koodi.<\/p>\n<h2>Block kuviot ja niiden k\u00e4ytt\u00f6<\/h2>\n<p>Lohkomallit otettiin k\u00e4ytt\u00f6\u00f6n WordPress 5.5:ss\u00e4 (11. elokuuta 2020). Ne ovat uusi ominaisuus lohkonsy\u00f6tt\u00e4j\u00e4ss\u00e4, joka helpottaa useiden lohkojen ennalta m\u00e4\u00e4ritetyn kokoonpanon lis\u00e4\u00e4mist\u00e4. Teeman tai laajennuksen kehitt\u00e4j\u00e4t voivat m\u00e4\u00e4ritt\u00e4\u00e4 ryhm\u00e4n lohkoja, niiden sis\u00e4kk\u00e4isyyden, sis\u00e4ll\u00f6n ja attribuutit, ja loppuk\u00e4ytt\u00e4j\u00e4t voivat lis\u00e4t\u00e4 t\u00e4m\u00e4n yksinkertaisella yhden napsautustoiminnolla. Ajatuksena on, ett\u00e4 loppuk\u00e4ytt\u00e4jien ei en\u00e4\u00e4 tarvitse luoda manuaalisesti monimutkaisia \u200b\u200basetteluja ja kaikkia mukautettuja asetuksiaan ja sijoittaa niit\u00e4 oikeisiin s\u00e4il\u00f6ihin usein k\u00e4ytt\u00e4milleen lohkoille.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153813-61e5135f8834f.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-153813-61e5135f8834f.png\" alt=\"Gutenbergin lohkokuviot: Kehitt\u00e4j\u00e4n ilme\" ><\/a><\/p>\n<p>Kun lohkokuvio on lis\u00e4tty editoriin, lohkot eiv\u00e4t tied\u00e4, ett\u00e4 ne on lis\u00e4tty lohkokuvion kautta. Ne lis\u00e4t\u00e4\u00e4n normaaleina lohkoina, joiden avulla k\u00e4ytt\u00e4j\u00e4t voivat s\u00e4\u00e4t\u00e4\u00e4 sis\u00e4lt\u00f6\u00e4 ja asetuksia. Se on pohjimmiltaan pikakuvake useiden lohkojen kokoonpanon lis\u00e4\u00e4miseksi.<\/p>\n<p>Idea on hyv\u00e4! Kaikki loppuk\u00e4ytt\u00e4j\u00e4t eiv\u00e4t halua luoda suurta sis\u00e4kk\u00e4isten lohkojen rakennetta editorissa, jotta se n\u00e4ytt\u00e4\u00e4 t\u00e4ydelliselt\u00e4. Kuitenkin toistaiseksi t\u00e4m\u00e4 ominaisuus on enimm\u00e4kseen hy\u00f6dyksi kehitt\u00e4jille, koska loppuk\u00e4ytt\u00e4j\u00e4t eiv\u00e4t voi luoda omia mallejaan. K\u00e4ytt\u00e4jien omien r\u00e4\u00e4t\u00e4l\u00f6ityjen lohkojen kohdalla heid\u00e4n on k\u00e4ytett\u00e4v\u00e4 uudelleenk\u00e4ytett\u00e4vi\u00e4 lohkoja. Mutta erityisesti teemakehitt\u00e4jille lohkokuvioiden avulla he todella n\u00e4ytt\u00e4v\u00e4t loppuk\u00e4ytt\u00e4jille parhaan lohkokokoonpanon, joka toimii hyvin teemassa.<\/p>\n<p>WordPress on lis\u00e4nnyt uuden teematuen lohkomalleille: <code>'core-block-patterns'<\/code>. Core suorittaa versiosta 5.5.0 l\u00e4htien automaattisesti a, <code>add_theme_support('core-block-patterns')<\/code>joten sinun ei tarvitse tehd\u00e4 t\u00e4t\u00e4 teemassasi.<\/p>\n<p>Koska kaikki lohkokuvion toiminnot ovat olemassa vain hyvin uudessa WordPress-versiossa, on hyv\u00e4 idea tarkistaa niiden olemassaolo ensin, jotta et riko sivustoja vanhemmilla WordPress-versioilla. Kaikissa alla olevissa koodiesimerkeiss\u00e4 olen tehnyt juuri niin.<\/p>\n<p>WordPress 5.5 toimitetaan 9 ennalta m\u00e4\u00e4ritetyll\u00e4 lohkokuviolla (katso luettelo alla). Lohkokuviot n\u00e4ytet\u00e4\u00e4n kuvioluokissa (ydin lis\u00e4\u00e4 5 luokkaa). Lohkokuvioluokat toimivat kuten viestiluokat; voit laittaa lohkokuvion useisiin luokkiin. Teema- ja laajennuskehitt\u00e4j\u00e4t voivat rekister\u00f6id\u00e4 omia lohkokuvioita ja lohkokuvioluokkia sek\u00e4 poistaa ytimen rekister\u00f6innin. Katsotaanpa siis tarkemmin miten!<\/p>\n<h2>Lohkokuviot ja lohkokuvioluokat sis\u00e4ltyv\u00e4t WordPress 5.5:een<\/h2>\n<p>WordPress 5.5:ss\u00e4 toimitetut lohkomallit ovat seuraavat (kunkin mallin nimiavaruus ja slug-tunnus n\u00e4ytet\u00e4\u00e4n suluissa):<\/p>\n<ul>\n<li>Kaksi painiketta (&#8217; <code>core\/two-buttons<\/code>&#8217;)<\/li>\n<li>Kolme painiketta (&#8217; <code>core\/three-buttons<\/code>&#8217;)<\/li>\n<li>Kaksi tekstisaraketta (&#8217; <code>core\/text-two-columns<\/code>&#8217;)<\/li>\n<li>Kaksi saraketta teksti\u00e4 ja kuvia (&#8217; <code>core\/text-two-columns-with-images<\/code>&#8217;)<\/li>\n<li>Kolme saraketta teksti\u00e4 painikkeilla (&#8217; <code>core\/text-three-columns-buttons<\/code>&#8217;)<\/li>\n<li>Kaksi kuvaa vierekk\u00e4in (&#8217; <code>core\/two-images<\/code>&#8217;)<\/li>\n<li>Suuri otsikko, jossa on otsikko (&#8217; <code>core\/large-header<\/code>&#8217;)<\/li>\n<li>Suuri otsikko, jossa on otsikko ja painike (&#8217; <code>core\/large-header-button<\/code>&#8217;)<\/li>\n<li>Lainaus (&#8217; <code>core\/quote<\/code>&#8217;)<\/li>\n<\/ul>\n<p>WordPress 5.5:een lis\u00e4tyt luokat ovat (niiden slug-tunnukset n\u00e4kyv\u00e4t suluissa):<\/p>\n<ul>\n<li>Painikkeet (&#8217; <code>buttons<\/code>&#8217;)<\/li>\n<li>Sarakkeet (&#8217; <code>columns<\/code>&#8217;)<\/li>\n<li>Galleria (&#8217; <code>gallery<\/code>&#8217;)<\/li>\n<li>Otsikot (&quot; <code>header<\/code>&#8217; &#8211; huomautus ei &quot;&quot;&quot; lopussa)<\/li>\n<li>Teksti (&#8217; <code>text<\/code>&#8217;)<\/li>\n<\/ul>\n<h2>Peruutetaan lohkokuvioiden rekister\u00f6inti\u00e4<\/h2>\n<p>Voit poistaa lohkokuvioiden rekister\u00f6innin toiminnolla <code>[unregister_block_pattern](https:\/\/developer.wordpress.org\/block-editor\/developers\/block-api\/block-patterns\/#unregister_block_pattern)()<\/code>. Anna vain merkkijono, jossa on lohkokuvio, jonka haluat poistaa parametriksi. Katso ydinlohkokuviot yll\u00e4 olevasta yleiskatsauksesta. Suorita t\u00e4m\u00e4 toiminto toimintoon kytketyn toiminnon sis\u00e4ll\u00e4 <code>init<\/code>.<\/p>\n<p>Esimerkki ydinlohkokuvioiden &quot;Kaksi painiketta&quot; ja &quot;Kolme painiketta&quot; rekister\u00f6innin poistamisesta:<\/p>\n<pre><code>add_action('init', function() {\n    if (!function_exists('unregister_block_pattern')) {\n        return;\n    }\n    unregister_block_pattern('core\/two-buttons');\n    unregister_block_pattern('core\/three-buttons');\n});<\/code><\/pre>\n<h2>Lohkokuvioiden rekister\u00f6inti<\/h2>\n<p>Uuden lohkokuvion rekister\u00f6inti tapahtuu funktiolla <code>[register_block_pattern](https:\/\/developer.wordpress.org\/block-editor\/developers\/block-api\/block-patterns\/#register_block_pattern)()<\/code>. Se hyv\u00e4ksyy kaksi parametria; ensimm\u00e4inen on merkkijono, jolla on yksil\u00f6llinen nimi kuviollesi, mukaan lukien nimiavaruus. Toinen on joukko asetuksia lohkokuviollesi.<\/p>\n<p><strong>Vihje<\/strong>: Lohkomallin m\u00e4\u00e4ritt\u00e4minen edellytt\u00e4\u00e4 raaka-HTML-sis\u00e4lt\u00f6\u00e4 lohkom\u00e4\u00e4rityksi\u00e4 varten. En suosittele t\u00e4m\u00e4n kirjoittamista manuaalisesti, koska se aiheuttaa helposti virheellisi\u00e4 estoristiriitoja. Mene sen sijaan editoriin ja aseta lohkot haluamallasi tavalla kuvioosi. Napsauta sitten &quot;pistevalikkoa&quot; vanhemmuuden lohkon ty\u00f6kalupalkissa ja napsauta &quot;Kopioi&quot;. T\u00e4m\u00e4n j\u00e4lkeen voit palata koodieditoriin ja liitt\u00e4\u00e4 (Ctrl+V). T\u00e4m\u00e4 antaa sinulle kopioimasi kokoonpanon raaka-HTML-koodin. K\u00e4yt\u00e4 koodieditorin toimintoa korvataksesi kaikki rivinvaihdot <code>n<\/code>ja varmista, ett\u00e4 k\u00e4yt\u00e4t lainausmerkkej\u00e4 oikein.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153813-61e513609a439.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-153813-61e513609a439.png\" alt=\"Gutenbergin lohkokuviot: Kehitt\u00e4j\u00e4n ilme\" ><\/a><\/p>\n<p>Lohkomallisi ominaisuudet ovat seuraavat (toinen argumenttitaulukko):<\/p>\n<ul>\n<li><strong><code>title<\/code><\/strong>(pakollinen): lohkokuvion n\u00e4ytett\u00e4v\u00e4 nimi<\/li>\n<li><code>**content**<\/code>(pakollinen): Lohkon m\u00e4\u00e4rityksen RAW HTML<\/li>\n<li><strong><code>description<\/code><\/strong>: Kuvaus lohkokuviollesi. On visuaalisesti piilotettu<\/li>\n<li><strong><code>categories<\/code><\/strong>: Joukko luokkia, joihin t\u00e4m\u00e4 lohkokuvio lis\u00e4t\u00e4\u00e4n. Jos et anna t\u00e4t\u00e4 ominaisuutta, lohko sijoitetaan Luokittelematon lohkokuvioluokkaan.<\/li>\n<li><strong><code>keywords<\/code><\/strong>: joukko avainsanoja, jotka voivat auttaa k\u00e4ytt\u00e4ji\u00e4 l\u00f6yt\u00e4m\u00e4\u00e4n mallisi haun aikana<\/li>\n<li><strong><code>viewportWidth<\/code><\/strong>: Anna lis\u00e4yslaitteeseen lohkokuvion leveyden kokonaisluku. Vaikuttaa vain lis\u00e4yssovelluksen esikatseluun.<\/li>\n<\/ul>\n<p>T\u00e4ss\u00e4 on esimerkki lohkokuvion rekister\u00f6innist\u00e4, joka koostuu t\u00e4ysleve\u00e4st\u00e4 Kansilohkosta, jolla on taustav\u00e4ri, joka sis\u00e4lt\u00e4\u00e4 keskelle tasatun Otsikkolohkon tietyll\u00e4 tekstiv\u00e4rill\u00e4 ja keskelle tasatun kappaleen tietyll\u00e4 tekstiv\u00e4rill\u00e4:<\/p>\n<pre><code>add_action('init', function() {\n    if (!function_exists('register_block_pattern')) {\n        return;\n    }\n    register_block_pattern('awp\/standard-cta-section', [\n        'title' =&gt; __('Standard CTA Section', 'awp'),\n        'keywords' =&gt; ['cta'],\n        'categories' =&gt; ['header'],\n        'viewportWidth' =&gt; 1000,\n        'content' =&gt; \"&lt;!-- wp:cover {\"customOverlayColor\":\"#dadee2\",\"align\":\"full\"} --&gt;n&lt;div class=\"wp-block-cover alignfull has-background-dim\" style=\"background-color:#dadee2\"&gt;&lt;div class=\"wp-block-cover__inner-container\"&gt;&lt;!-- wp:heading {\"align\":\"center\",\"level\":1,\"style\":{\"color\":{\"text\":\"#414446\"}}} --&gt;n&lt;h1 class=\"has-text-align-center has-text-color\" style=\"color:#414446\"&gt;Section title&lt;\/h1&gt;n&lt;!-- \/wp:heading --&gt;nn&lt;!-- wp:paragraph {\"align\":\"center\",\"style\":{\"color\":{\"text\":\"#414446\"}}} --&gt;n&lt;p class=\"has-text-align-center has-text-color\" style=\"color:#414446\"&gt;Write your text here.&lt;\/p&gt;n&lt;!-- \/wp:paragraph --&gt;&lt;\/div&gt;&lt;\/div&gt;n&lt;!-- \/wp:cover --&gt;\",\n    ]);\n});<\/code><\/pre>\n<h2>Lohkokuvioiden luokkien rekister\u00f6inti<\/h2>\n<p>Kehitt\u00e4j\u00e4t voivat my\u00f6s rekister\u00f6id\u00e4 mukautettuja lohkokuvioluokkia. T\u00e4m\u00e4 tehd\u00e4\u00e4n funktiolla <code>[register_block_pattern_category](https:\/\/developer.wordpress.org\/block-editor\/developers\/block-api\/block-patterns\/#register_block_pattern_category)()<\/code>. Se hyv\u00e4ksyy kaksi parametria; ensin luokan slug merkkijono ja toiseksi joukko ominaisuuksia. T\u00e4ll\u00e4 hetkell\u00e4 vain yksi ominaisuus on tuettu toisessa argumentissa; <code>label<\/code>luokan luettavalle nimelle.<\/p>\n<p>Alla on esimerkki mukautetun lohkomalliluokan rekister\u00f6innist\u00e4:<\/p>\n<pre><code>add_action('init', function() {\n    if (!function_exists('register_block_pattern_category')) {\n        return;\n    }\n    register_block_pattern_category('awp-patterns', ['label' =&gt; __('AWhitePixel Block Patterns', 'awp')]);\n});<\/code><\/pre>\n<p>T\u00e4ll\u00e4 voit lis\u00e4t\u00e4 &#8217;awp-patterns&#8217; <code>categories<\/code>argumenttiin &#8217; &#8217; <code>register_block_pattern()<\/code>. Muista, ett\u00e4 jos kategoriaan ei ole rekister\u00f6ity lohkokuvioita, luokkaa ei n\u00e4ytet\u00e4 lohkon lis\u00e4yksess\u00e4. Sinun on lis\u00e4tt\u00e4v\u00e4 t\u00e4h\u00e4n luokkaan v\u00e4hint\u00e4\u00e4n yksi lohkokuvio, jotta se tulee n\u00e4kyviin.<\/p>\n<h2>Poistetaan lohkokuvioiden luokkien rekister\u00f6inti<\/h2>\n<p>Lopuksi on toiminto <code>[unregister_block_pattern_category](https:\/\/developer.wordpress.org\/block-editor\/developers\/block-api\/block-patterns\/#unregister_block_pattern_category)()<\/code>lohkokuvioluokan rekister\u00f6innin poistamiseksi. Anna luokka Slug parametriksi. Katso yll\u00e4 olevasta lohkokuvioluokkien yleiskatsauksesta ydinluokkia ja niiden osia.<\/p>\n<p>\u00c4l\u00e4 unohda, ett\u00e4 lohkokuvioluokat, joille ei ole m\u00e4\u00e4ritetty lohkokuvioita, eiv\u00e4t n\u00e4y lohkon lis\u00e4yksess\u00e4. Joten jos poistat kaikki luokkaan m\u00e4\u00e4ritetyt estomallit, itse luokka ei ole en\u00e4\u00e4 n\u00e4kyviss\u00e4, eik\u00e4 sinun v\u00e4ltt\u00e4m\u00e4tt\u00e4 tarvitse poistaa luokan rekister\u00f6inti\u00e4. Kaikki estomallit, jotka on m\u00e4\u00e4ritetty vain poistettavalle luokkalle, siirret\u00e4\u00e4n Luokittelematon-luokkaan.<\/p>\n<p>T\u00e4ss\u00e4 on esimerkki ydinlohkokuviokategorian painikkeiden rekister\u00f6innin poistamisesta:<\/p>\n<pre><code>add_action('init', function() {\n    if (!function_exists('unregister_block_pattern_category')) {\n        return;\n    }\n    unregister_block_pattern_category('buttons');\n});<\/code><\/pre>\n<h2>Johtop\u00e4\u00e4t\u00f6s<\/h2>\n<p>WordPress Gutenbergin uusi lohkokuvioominaisuus on ehdottomasti askel l\u00e4hemp\u00e4n\u00e4 lohkoeditorin toimivuutta sivujen rakentajana. Huonona puolena on mielest\u00e4ni se, ett\u00e4 loppuk\u00e4ytt\u00e4j\u00e4t eiv\u00e4t voi luoda omia mallejaan. Mutta se on hyv\u00e4 toiminto teeman kehitt\u00e4jille, koska sen avulla loppuk\u00e4ytt\u00e4j\u00e4t voivat helposti m\u00e4\u00e4ritt\u00e4\u00e4 lohkokokoonpanoja ja asetteluja, jotka toimivat hyvin teemassa. T\u00e4m\u00e4 on aivan uusi ominaisuus, ja sit\u00e4 todenn\u00e4k\u00f6isesti kehitet\u00e4\u00e4n ja parannetaan l\u00e4hitulevaisuudessa! En malta odottaa!<\/p>\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>Kehitt\u00e4j\u00e4n katsaus WordPress Gutenbergin lohkomalleihin. Mit\u00e4 ne ovat, mihin niit\u00e4 voidaan k\u00e4ytt\u00e4\u00e4, ja syvemm\u00e4lle koodin kirjoittamiseen niille.<\/p>\n","protected":false},"author":1,"featured_media":223885,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[895,719,938,938,719,895,813,1110,843,803,803,813,843,864,864],"tags":[1166],"class_list":{"0":"post-233366","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-koodi","8":"category-kehittaejae","9":"category-gutenberg-5","13":"category-laajennuksia","14":"category-n-a","15":"category-opetusohjelmia","16":"category-php-5","20":"category-wordpress-5","22":"tag-affiai-fi"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/233366","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=233366"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/233366\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/223885"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=233366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=233366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=233366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}