{"id":233885,"date":"2023-02-25T15:12:00","date_gmt":"2023-02-25T12:12:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233885"},"modified":"2022-11-11T12:59:35","modified_gmt":"2022-11-11T09:59:35","slug":"kuidas-tuehistada-gutenbergi-plokid","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-tuehistada-gutenbergi-plokid\/","title":{"rendered":"Kuidas t\u00fchistada Gutenbergi plokid"},"content":{"rendered":"\n<p>\u00dcks levinumaid probleeme Gutenbergi plokkidega teema v\u00f5i pistikprogrammi v\u00e4rskendamisel on see, et ploki koodi muutmine katkestab k\u00f5ik seda plokki kasutavad olemasolevad postitused. \u00d5nneks pakub WordPress lahendust; viis blokeerida plokid. Selles postituses vaatame, kuidas seda teha.<\/p>\n<p>Kui olete varem plokkide arendamisega t\u00f6\u00f6tanud, olete t\u00f5en\u00e4oliselt selle ploki veaga tuttav, kui olete ploki lisanud ja hiljem <code>save<\/code>funktsiooni muutnud.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-151739-61e4cecf0099f.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-151739-61e4cecf0099f.png\" alt=\"Kuidas t\u00fchistada Gutenbergi plokid\" ><\/a><\/p>\n<p>See juhtub seet\u00f5ttu, et WordPress v\u00f5rdleb andmebaasis salvestatud plokki <code>save<\/code>teie ploki funktsiooni praeguse koodiga ja need ei \u00fchti. WordPress ei suuda erinevust parandada. Enamasti saad kl\u00f5psata plokil kolmel punktil ja valida &#8220;Proovi blokeerida taastamist&quot;. Kui <code>save<\/code>funktsioonis tehtud muudatused olid v\u00e4ikesed (nt klassivahetus), suudab WordPress ploki taastada. Halvimal juhul d Peate kl\u00f5psama &quot;Teisenda HTML-iks&quot; ja te kaotate oma ploki <code>edit<\/code>funktsionaalsuse. Ilmselgelt ei saa me eeldada, et meie blokeerimiskoodi kasutajad leiavad k\u00e4sitsi k\u00f5ik seda plokki kasutavad postitused ja teevad iga\u00fche jaoks need toimingud.<\/p>\n<p>Nii et enne <code>save<\/code>funktsiooni v\u00e4rskenduste tegemist lisame koodi, mis annab WordPressile teada, kuidas k\u00e4sitleda vana sisu, mis on salvestatud vana <code>save<\/code>funktsiooniga.<\/p>\n<h2>L\u00e4hme koodi sisse!<\/h2>\n<p>See on tegelikult \u00fcsna lihtne. L\u00fchidalt, mida me tegema peame, on; lisage funktsioonikutsele <code>deprecated<\/code>atribuut. <code>registerBlockType()<\/code>See vara eeldab massiivi. See t\u00e4hendab, et saate ploki mitu korda aegunud, lisades massiivi mitu kirjet. Iga amortisatsioon on m\u00e4\u00e4ratletud kui objekt, millel on t\u00e4ielik <code>attributes<\/code>omadus ja (vana) <code>save<\/code>funktsioon.<\/p>\n<p>Teisis\u00f5nu m\u00e4\u00e4ratlete <code>deprecated<\/code>atribuudi massiivina ja seej\u00e4rel kopeerite sellesse oma ploki <code>attributes<\/code>ja <code>save<\/code>funktsiooni. Peate lisama atribuudid, kuigi te ei muuda neis v\u00e4rskenduses midagi. Te ei pea <code>edit<\/code>funktsiooni amortisatsiooni arvestama.<\/p>\n<pre><code>deprecated: [\n    {\n        attributes: { ... },\n        save: (props) =&gt; { ... }\n    }\n]<\/code><\/pre>\n<p>Vaatame seda praktilisemas n\u00e4ites.<\/p>\n<p>Oletame, et meie blokeerimiskood n\u00e4eb v\u00e4lja umbes selline. Funktsioon <code>edit<\/code>on v\u00e4listatud, kuna me ei pea sellega amortisatsiooniga tegelema.<\/p>\n<pre><code>const { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { RichText } = wp.blockEditor;\n\u00a0\nimport edit from '.\/edit';\n\u00a0\nregisterBlockType( 'awp\/deprecated-block-example', {\n    title: __( 'Example of deprecating a block' ),\n    icon: 'format-aside',\n    category: 'widgets',\n    attributes: {\n        alignment: {\n            type: 'string',\n            default: 'center'\n        },\n        exampleString: {\n            type: 'string'\n        },\n    },\n    edit,\n    save: (props) =&gt; { \n        const { exampleString } = props;\n        return(\n            &lt;div className=\"deprecated-block-example\"&gt;\n                &lt;RichText.Content value={ exampleString } \/&gt;\n            &lt;\/div&gt;\n        );\n    }\n});<\/code><\/pre>\n<p>Seej\u00e4rel oletame, et tahame teha muudatusi m\u00f5lemas atribuudis ning salvestada ja v\u00e4ltida olemasolevate plokkide purustamist. Lisame <code>deprecated<\/code>atribuudi ja kopeerime sellesse kogu <code>attributes<\/code>ja <code>save<\/code>massiivi elemendina. Seej\u00e4rel saame teha mis tahes muudatusi <code>attributes<\/code>ja\/v\u00f5i <code>save<\/code>funktsiooni.<\/p>\n<pre><code>const { __ } = wp.i18n;\nconst { registerBlockType } = wp.blocks;\nconst { RichText } = wp.blockEditor;\n\u00a0\nimport edit from '.\/edit';\n\u00a0\nregisterBlockType( 'awp\/deprecated-block-example', {\n    title: __( 'Example of deprecating a block' ),\n    icon: 'format-aside',\n    category: 'widgets',\n    attributes: {\n        alignment: {\n            type: 'string',\n            default: 'center'\n        },\n        exampleString: {\n            type: 'string'\n        },\n        newThing: {\n            type: 'string'\n        },\n    },\n    edit,\n    save: (props) =&gt; { \n        const { exampleString, newThing } = props;\n        return(\n            &lt;div className=\"deprecated-block-example\"&gt;\n                &lt;RichText.Content value={ exampleString } \/&gt;\n                &lt;div className=\"new-content\"&gt;\n                    &lt;RichText.Content value={ newThing } \/&gt;\n                &lt;\/div&gt;\n            &lt;\/div&gt;\n        );\n    },\n    deprecated: [\n        {\n            attributes: {\n                alignment: {\n                    type: 'string',\n                    default: 'center'\n                },\n                exampleString: {\n                    type: 'string'\n                },\n            },\n            save: (props) =&gt; { \n                const { exampleString } = props;\n                return(\n                    &lt;div className=\"deprecated-block-example\"&gt;\n                        &lt;RichText.Content value={ exampleString } \/&gt;\n                    &lt;\/div&gt;\n                );\n            },\n        }\n    ]\n});<\/code><\/pre>\n<p>Kui see kood on koostatud, saate otsida olemasolevat postitust vana plokkkoodi abil ja te ei tohiks katkist koodi saada!<\/p>\n<p>WordPress selgitab v\u00e4lja, et plokk kasutab meie aegunud koodi, ja laadib sisu vananenud <code>save<\/code>koodi abil. Kui teete plokis muudatused ja v\u00e4rskendate postitust, salvestatakse plokk uue <code>save<\/code>funktsiooni abil.<\/p>\n<h2>T\u00e4psem amortisatsioon ja edasine lugemine<\/h2>\n<p>\u00dclaltoodud koodin\u00e4ide on amortisatsiooni k\u00f5ige elementaarsem vorm. <code>migrate<\/code>WordPress toetab rohkem funktsioone, n\u00e4iteks <code>supports<\/code>lisamist ja isegi konstantide (m\u00f5elge versiooninumbritele) m\u00e4\u00e4ramist teie aegunud koodile. Vaadake <a href=\"https:\/\/developer.wordpress.org\/block-editor\/developers\/block-api\/block-deprecation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressi dokumentatsiooni ploki amortisatsiooni kohta<\/a>.<\/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>Gutenbergi ploki koodi muutmine katkestab k\u00f5ik seda plokki kasutavad olemasolevad postitused. Selles postituses vaatleme, kuidas blokeerida plokid.<\/p>\n","protected":false},"author":1,"featured_media":151740,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,718,937,937,833,894,916,916,1110,842,812,812,833,842,863,863],"tags":[1165],"class_list":["post-233885","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-gutenberg-4","category-juhend-algajatele","category-muud","category-n-a","category-opetused","category-pistikprogrammid","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=233885"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233885\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/151740"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}