{"id":233618,"date":"2023-02-18T20:22:00","date_gmt":"2023-02-18T17:22:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233618"},"modified":"2023-02-23T17:05:44","modified_gmt":"2023-02-23T14:05:44","slug":"kuidas-luua-esiotsa-vorm-acf-iga","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-luua-esiotsa-vorm-acf-iga\/","title":{"rendered":"Kuidas luua esiotsa vorm ACF-iga"},"content":{"rendered":"\n<p>Selles \u00f5petuses n\u00e4itan teile, kuidas luua Advanced Custom Fields (ACF) abil esiotsa vorm. Ma r\u00e4\u00e4gin \u00fcksikasjalikult, kuidas see t\u00f6\u00f6tab ja kuidas saate seda oma vajadustele vastavaks kohandada.<\/p>\n<p><a href=\"https:\/\/www.advancedcustomfields.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Advanced Custom Fields<\/a> (ACF) on tasuta pistikprogramm, mis aitab teil lisada WordPressi peaaegu igat t\u00fc\u00fcpi sisule mitut t\u00fc\u00fcpi v\u00e4ljaseadeid. Saate lisada v\u00e4lju postitustele, taksonoomiatele, men\u00fc\u00fcdele, vidinatele, kasutajatele ja isegi kohandatud administraatori lehtedele. Seda kasutatakse peamiselt administraatori jaoks, kuid saate seda kasutada ka esiotsa v\u00e4ljade genereerimiseks.<\/p>\n<p>Rakendusi ACF-v\u00e4ljade lisamiseks esiotsa on palju; postituste, kategooriate v\u00f5i kasutajate loomiseks ja v\u00e4rskendamiseks saate lisada vormi. M\u00f5ne koodiga saate isegi luua \u00fcldise kontaktivormi, kus vastused salvestatakse kohandatud postituse t\u00fc\u00fcpi postitustena ja kood k\u00e4ivitab vormi vastuste kohta meiliteatised. T\u00e4pselt nagu tavaline kontaktivorm. Levinud kasutusalad on ACF-i esiotsa vormifunktsioonide kasutamine vormide loomiseks ja k\u00fclastajatel saidi sisu loomiseks v\u00f5i muutmiseks ilma sisse logimata. Kuid kasutage seda ettevaatlikult. See avab kergesti r\u00e4mpsposti ja kuritarvitamise ning halvimal juhul v\u00f5ivad k\u00fclastajad teie saidi sisu v\u00f5i seaded h\u00e4vitada. Peaksite v\u00e4hemalt n\u00f5udma, et k\u00fclastajad logiksid sisse kehtivate kasutajatega, et p\u00e4\u00e4seda juurde vormidele, mis v\u00f5ivad muuta WordPressi kriitilist sisu (kasutajaprofiil, postitused jne).<\/p>\n<h2>Mida me teeme<\/h2>\n<p>Eeldan, et WordPressi sait on <code>member<\/code>ACF-i kasutava kohandatud rolliga (&#8216; &#8216;) kasutajate jaoks m\u00e4\u00e4ratlenud t\u00e4iendavate v\u00e4ljade komplekti. Neil kasutajatel pole \u00fcldse administraatorijuurdep\u00e4\u00e4su, kuid tahame pakkuda neile v\u00f5imalust muuta oma profiili kohandatud v\u00e4lju. Lahendus, mille olen valinud, on nende profiili v\u00e4rskendamiseks kohandatud lehemalli loomine, mis n\u00e4itab vormi ainult siis, kui nad on sisse logitud ja \u00f5ige rolliga.<\/p>\n<p>J\u00e4tan selle selles \u00f5petuses \u00fcsna lihtsaks, nii et ma ei lisa n\u00e4idet standardsete kasutajaprofiili v\u00e4ljade lisamisest WordPressis (e-post, parool jne). See j\u00e4\u00e4b natuke selle \u00f5petuse ulatusest v\u00e4lja. Luban sellel profiili muutmise lehel redigeerida ainult ACF-v\u00e4lju.<\/p>\n<p>ACF-iga olen loonud v\u00e4ljade r\u00fchma liikmete kasutajate seadete komplektiga:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152752-61e4fa3424bfa.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-152752-61e4fa3424bfa.png\" alt=\"Kuidas luua esiotsa vorm ACF-iga\"><\/a><\/p>\n<p>Ja minu teemas on kohandatud lehe mall, mis praegu n\u00e4eb v\u00e4lja selline \u2013 hetkel on lihtsalt tavaline \u00fche lehe mall;<\/p>\n<pre><code>&lt;?php \n\/* Template Name: ACF Profile Page *\/\nget_header(); ?&gt;\n&lt;main class=\"content\"&gt;\n    &lt;?php if (have_posts()) { \n        while (have_posts()): the_post(); ?&gt;\n        &lt;article id=\"post-&lt;?php the_ID() ?&gt;\" &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2 class=\"page-title\"&gt;&lt;?php the_title(); ?&gt;&lt;\/h2&gt;\n            &lt;?php the_content(''); ?&gt;\n            &lt;?php \n            if (is_user_logged_in() &amp;&amp; current_user_can('member')) {\n                \/\/ Profile settings here\n            }\n            ?&gt;\n        &lt;\/article&gt;\n    &lt;?php endwhile;\n    } ?&gt;\n&lt;\/main&gt;\n&lt;?php \nget_sidebar();\nget_footer();<\/code><\/pre>\n<p>Real <code>#11<\/code>kontrollime, kas praegune kasutaja on sisse logitud ja tal on kohandatud roll <code>member<\/code>. Muutke rolli v\u00f5i miinimumreegel milleks iganes soovite seda esiotsa vormi lubada. Pidage meeles, et isegi WordPressi madalaimal rollil <code>subscriber<\/code>on juurdep\u00e4\u00e4s oma profiili redigeerimisele administraatoripaneelil.<\/p>\n<p>L\u00fchidalt, tahame lisada need v\u00e4ljad iga liikme kohta sellele kohandatud esiotsa lehele:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152752-61e4fa37478d8.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-152752-61e4fa37478d8.png\" alt=\"Kuidas luua esiotsa vorm ACF-iga\"><\/a><\/p>\n<h2>Kuidas ACF-i esiotsa vormid t\u00f6\u00f6tavad<\/h2>\n<p>Peate lisama kaks funktsioonikutset malli, mille jaoks soovite esiotsa vormi; <code>[acf_form_head](https:\/\/www.advancedcustomfields.com\/resources\/acf_form_head\/)()<\/code>ja <code>[acf_form](https:\/\/www.advancedcustomfields.com\/resources\/acf_form\/)()<\/code>.<\/p>\n<p>Funktsioon <code>acf_form_head()<\/code>tuleb paigutada teie malli \u00fclaossa, enne mis tahes v\u00e4ljundit. Tavaliselt t\u00e4hendab see mallis enne <code>[get_header](https:\/\/developer.wordpress.org\/reference\/functions\/get_header\/)()<\/code>. Funktsioonikutse tagab, et k\u00f5ik skriptid ja stiilid on lisatud, nii et ACF-v\u00e4ljad renderdatakse \u00f5igesti, samuti k\u00f5ik funktsioonid t\u00f6\u00f6 t\u00f6\u00f6tlemiseks, kinnitamiseks ja esitamiseks. Me ei pea sellele funktsioonile parameetreid lisama.<\/p>\n<p>Funktsioon <code>acf_form()<\/code>renderdab esiotsa vormi ja see tuleks paigutada kohta, kus soovite vormi kuvada. See aktsepteerib mitmesuguseid seadeid. Peame minimaalselt teavitama, milliseid v\u00e4lju v\u00f5i r\u00fchmi n\u00e4idata ja kuhu need salvestada.<\/p>\n<p>Kui soovite otsustada, milliseid v\u00e4lju kuvada, esitage tavaliselt v\u00e4ljade r\u00fchm (atribuut <code>field_groups<\/code>). Kuid <code>acf_form()<\/code>funktsioon toetab ka konkreetsete \u00fcksikute v\u00e4ljade pakkumist (omadus <code>fields<\/code>). Saate lisada ka mitu v\u00e4lja v\u00f5i v\u00e4ljar\u00fchma, et \u00fchendada need samale vormile. Selle t\u00f5ttu <code>field_groups<\/code>ootab massiivi. Nii et isegi kui soovite kuvada ainult \u00fchte v\u00e4ljar\u00fchma, peate massiivi sees selle ID v\u00f5i n\u00e4lkja esitama.<\/p>\n<p>Teine n\u00f5utav atribuut, mille peate vormi esitama, <code>acf_form()<\/code>on see, kust tuleks andmed laadida ja kuhu need salvestada, atribuudis <code>post_id<\/code>. \u00c4rge laske end eksitada nimetusest &quot;postitus&quot;. Reeglid <code>post_id<\/code>on samad, kui kasutate <code>get_field()<\/code>, kui olete ACF-iga t\u00f6\u00f6tamisega varem tuttav. Kui v\u00e4ljad on postituse jaoks (postitus, leht, kohandatud postituse t\u00fc\u00fcpi postitus), peate siin sisestama ainult ID. Kuid kui soovite kasutajate andmeid laadida ja v\u00e4rskendada, j\u00e4rgige j\u00e4rgmist vormingut: <code>user_{user ID}<\/code>. Samamoodi kategooria v\u00e4ljadega: <code>category_{category ID}<\/code>. Tutvuge k\u00f5igi reeglitega <a href=\"https:\/\/www.advancedcustomfields.com\/resources\/get_field\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ACF-i<code>get_field()<\/code><\/a> dokumentatsiooni pealkirja \u201eHangi v\u00e4\u00e4rtus erinevatest objektidest&quot; all .<\/p>\n<h2>ACF-i esiotsa vormi lisamine meie mallile<\/h2>\n<p>Esmalt lisame lehemalli deklaratsiooni (rida) <code>acf_form_head()<\/code>\u00fclaossa, vahetult enne <code>get_header()<\/code>\u2013 aga p\u00e4rast lehemalli deklaratsiooni <code>#3<\/code>. Seej\u00e4rel lisame kohas, kus tahame vormi renderdada <code>acf_form()<\/code>, kahe omadusega.<\/p>\n<p>Peame v\u00e4lja selgitama oma v\u00e4ljar\u00fchma ID. Kui lisasite v\u00e4ljade r\u00fchma koodi j\u00e4rgi (mul on <a href=\"https:\/\/wordpress.mediadoma.com\/et\/taeielik-viide-taepsemate-kohandatud-vaeljade-ruehmade-ja-vaeljade-koodi-jaergi-lisamiseks\/\" title=\"postitus ACF-v\u00e4ljade lisamise kohta koodi j\u00e4rgi\">postitus ACF-v\u00e4ljade lisamise kohta koodi j\u00e4rgi<\/a> ), olete juba esitanud v\u00e4ljar\u00fchma n\u00e4lkja. Seej\u00e4rel annaksite n\u00e4lkja <code>field_groups<\/code>kinnistule massiivina. Kui lisasite v\u00e4ljar\u00fchma administraatoripaneelil, peate grupi brauseris avama ja kontrollima URL-i. Oleme huvitatud ID-st, mis kuvatakse p\u00e4rast &quot; <code>?post=<\/code>&quot;:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152752-61e4fa3a1621b.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-152752-61e4fa3a1621b.png\" alt=\"Kuidas luua esiotsa vorm ACF-iga\"><\/a><\/p>\n<p>Minu n\u00e4ites on ID <code>1145<\/code>. Siis ma pakun selle massiivi <code>field_groups<\/code>.<\/p>\n<p>PS: Ma ei soovita ID-d k\u00f5vasti kodeerida, kuna see ID on igas WordPressi eksemplaris erinev! Kui t\u00f6\u00f6tate nii kohaliku installi kui ka lavastus- ja tootmisserveriga, soovitan kindlasti lisada v\u00e4ljad hoopis koodi j\u00e4rgi. Nii saate m\u00e4\u00e4ratleda v\u00e4ljar\u00fchma nime ja see t\u00f6\u00f6tab k\u00f5ikjal.<\/p>\n<p>Mis puutub <code>post_id<\/code>kinnisvarasse, siis saan praeguse kasutaja ID hankida WordPressi funktsiooni abil <code>[get_current_user_id](https:\/\/developer.wordpress.org\/reference\/functions\/get_current_user_id\/)()<\/code>. \u00dchendan stringi &#8216; <code>user_<\/code>&#8216; ja selle funktsiooni tagastamise kui <code>post_id<\/code>.<\/p>\n<pre><code>&lt;?php \n\/* Template Name: ACF Profile Page *\/\nacf_form_head();\nget_header(); ?&gt;\n&lt;main class=\"content\"&gt;\n    &lt;?php if (have_posts()) { \n        while (have_posts()): the_post(); ?&gt;\n        &lt;article id=\"post-&lt;?php the_ID() ?&gt;\" &lt;?php post_class(); ?&gt;&gt;\n            &lt;h2 class=\"page-title\"&gt;&lt;?php the_title(); ?&gt;&lt;\/h2&gt;\n            &lt;?php the_content(''); ?&gt;\n            &lt;?php \n            if (is_user_logged_in() &amp;&amp; current_user_can('member')) {\n                $current_user_id = get_current_user_id();\n                acf_form([\n                    'field_groups' =&gt; [1145],\n                    'post_id' =&gt; 'user_'. $current_user_id\n                ]);\n            }\n            ?&gt;\n        &lt;\/article&gt;\n    &lt;?php endwhile;\n    } ?&gt;\n&lt;\/main&gt;\n&lt;?php \nget_sidebar();\nget_footer();<\/code><\/pre>\n<p>Ja see on p\u00f5him\u00f5tteliselt k\u00f5ik!<\/p>\n<p>Kui k\u00fclastan seda lehte liikmekasutajana sisse logituna, n\u00e4eksin selle kasutaja praegused v\u00e4\u00e4rtused. K\u00f5ik ACF-v\u00e4lja t\u00fc\u00fcbid t\u00f6\u00f6tavad ja n\u00e4evad head v\u00e4lja. Ja ma saan v\u00e4rskendada v\u00e4\u00e4rtusi esiotsa vormi abil ja n\u00e4ha, et neid v\u00e4rskendatakse ka administraatoris.<\/p>\n<h2>Vormi edasine kohandamine<\/h2>\n<p>Saame kasutajale edastatud seadeid veelgi kohandada <code>acf_form()<\/code>. K\u00f5igi v\u00f5imalike s\u00e4tete n\u00e4gemiseks vaadake <a href=\"https:\/\/www.advancedcustomfields.com\/resources\/acf_form\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ACF-i dokumentatsiooni acf_form() kohta.<\/a><\/p>\n<p>Hetkel kuvatakse meie kasutajaprofiili vormil s\u00e4tete esitamisel \u201ePostita v\u00e4rskendatud&#8221;. Profiili seadete puhul pole sellel m\u00f5tet. Saame s\u00f5numit kinnisvaraga kohandada <code>updated_message<\/code>.<\/p>\n<pre><code>acf_form([\n    'field_groups' =&gt; [1145],\n    'post_id' =&gt; 'user_'. $current_user_id,\n    'updated_message' =&gt; __('User profile updated.', 'txtdomain')\n]);<\/code><\/pre>\n<p>Kui soovite, saate p\u00e4rast vormi esitamist m\u00e4\u00e4rata teise URL-i, kuhu suunata. Vaikimisi laaditakse sama leht uuesti GET parameetriga &quot; <code>?updated=true<\/code>&quot;. Saate m\u00e4\u00e4rata t\u00e4nulehele konkreetse URL-i v\u00f5i kui vorm on postituse jaoks, v\u00f5iksite selle postituse vaatamise juurde suunata. Saame esitada atribuudi URL-i <code>return<\/code>.<\/p>\n<pre><code>acf_form([\n    'field_groups' =&gt; [1145],\n    'post_id' =&gt; 'user_'. $current_user_id,\n    'return' =&gt; home_url('thank-you')\n]);<\/code><\/pre>\n<p>Kui soovime vormi esitamisnupul teistsugust teksti, saame selle atribuudis m\u00e4\u00e4rata <code>submit_value<\/code>.<\/p>\n<pre><code>acf_form([\n    'field_groups' =&gt; [1145],\n    'post_id' =&gt; 'user_'. $current_user_id,\n    'submit_value' =&gt; __('Update profile', 'txtdomain')\n]);<\/code><\/pre>\n<p>V\u00f5ite ka \u00f6elda, et \u00e4rge m\u00e4rgendit <code>acf_form()<\/code>renderdage. <code>&lt;form&gt;<\/code>Kui soovite kombineerida ACF-i vormi oma kohandatud vormiga, saate k\u00e4sitsi m\u00e4\u00e4rata ja v\u00e4lja <code>form<\/code>kirjutada <code>false<\/code>. Kui teete seda, saab ACF endiselt v\u00e4\u00e4rtusi v\u00e4rskendada, kuid peate hoolitsema kohandatud vormi muude v\u00e4ljade v\u00e4rskendamise eest.<code>&lt;form&gt;``&lt;input type=\"submit\"\/&gt;<\/code><\/p>\n<pre><code>&lt;form method=\"POST\"&gt;\n    &lt;input type=\"text\" name=\"my-custom-input\" value=\"\" \/&gt;\n    &lt;?php\n    acf_form([\n        'field_groups' =&gt; [1145],\n        'post_id' =&gt; 'user_'. $current_user_id,\n        'form' =&gt; false\n    ]);\n    ?&gt;\n    &lt;input type=\"submit\" value=\"&lt;?php _e('Submit', 'txtdomain'); ?&gt;\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h2>Toimingute k\u00e4ivitamine vormi esitamisel<\/h2>\n<p>M\u00f5nikord v\u00f5ite soovida k\u00e4ivitada kasutajaliidese vormi v\u00e4rskendamisel m\u00f5ne kohandatud funktsiooni v\u00f5i s\u00fcndmuse. Levinud n\u00e4ide on funktsiooni kirjutamine, mis saadab iga vormi esitamise korral meiliteate.<\/p>\n<p>Advanced Custom Fields pakub v\u00e4ljade v\u00e4rskendamiseks kahte kasulikku konksu; tegevus <code>[acf\/save_post](https:\/\/www.advancedcustomfields.com\/resources\/acf-save_post\/)<\/code>ja filter <code>[acf\/pre_save_post](https:\/\/www.advancedcustomfields.com\/resources\/acf-pre_save_post\/)<\/code>. J\u00e4llegi, \u00e4rge laske end eksitada nimetusest &quot;postitus&quot;. Need k\u00e4ivituvad mis tahes ACF-v\u00e4ljade v\u00e4rskendamise korral, sealhulgas kasutaja, kategooria, men\u00fc\u00fc jms v\u00e4ljad.<\/p>\n<p>Filtrit <code>acf\/pre_save_post<\/code>k\u00e4itatakse <strong>ainult<\/strong> esiotsa vormidel, mis kasutavad <code>acf_form()<\/code>. Selle filtri parameetrina saame <code>post_id<\/code>sama v\u00e4\u00e4rtuse, mille me <code>post_id<\/code>\u00fclalpool <code>acf_form()<\/code>sisestasime. Filter ootab teid tagasi <code>post_id<\/code>. Pidage meeles, et kui me ei viita postituse ID-le, peame selle s\u00f5eluma. N\u00e4iteks kasutaja jaoks peate tegema midagi sellist:<\/p>\n<pre><code>add_filter('acf\/pre_save_post', function($post_id) {\n    if (strpos($post_id, 'user_') === false) {\n        return $post_id;\n    }\n\u00a0\n    $user_id = intval(substr($post_id, 5));  \/\/ Extracts the user ID\n\u00a0\n    \/\/ Do your thing. You'll find the submitted values in $_POST\n\u00a0\n    return $post_id;\n});<\/code><\/pre>\n<p>Teise v\u00f5imalusena v\u00f5ite kasutada konksu <code>acf\/save_post<\/code>, kuid pidage meeles, et see k\u00e4ivitatakse ka administraatoris. Selle konksu parameetrina saate <code>post_id<\/code>sama, mis <code>acf\/pre_save_post<\/code>. Oluline asi, mida kasutamisel meeles pidada, <code>acf\/save_post<\/code>on see, et saate konksu prioriteedi abil kontrollida, kas teie funktsiooni k\u00e4ivitatakse enne v\u00e4ljade salvestamist v\u00f5i p\u00e4rast seda. Funktsioon, mille prioriteet on 10 v\u00f5i k\u00f5rgem, k\u00e4ivitub p\u00e4rast v\u00e4ljade salvestamist. Ja prioriteet, mis on v\u00e4iksem kui 10, k\u00e4ivitatakse enne, kui ACF v\u00e4\u00e4rtused salvestab.<\/p>\n<pre><code>add_action('acf\/save_post', function($post_id) {\n    \/\/ You can fetch the values with standard get_field()\n});\n\u00a0\nadd_action('acf\/save_post', function($post_id) {\n    \/\/ You can access the submitted values in $_POST\n}, 8);<\/code><\/pre>\n<p>Kui olete funktsiooni enne salvestamist sidunud (prioriteet alla 10), saate v\u00f5rrelda esitatud v\u00e4\u00e4rtusi sellega, mida ACF salvestab. Saate teha <code>get_field()<\/code>praeguse v\u00e4\u00e4rtuse ja v\u00f5rrelda neid vastava v\u00e4\u00e4rtusega <code>$_POST<\/code>.<\/p>\n<p>Kui soovite midagi teha alles siis, kui v\u00e4lju on esiotsas v\u00e4rskendatud, saate lihtsalt kontrollida, kas meil on administraator <code>[is_admin](https:\/\/developer.wordpress.org\/reference\/functions\/is_admin\/)()<\/code>. Allpool on n\u00e4ide sellest, kuidas seadistada meiliteatisi, kui kasutaja v\u00e4rskendab oma seadeid kasutajaliideses.<\/p>\n<pre><code>add_action('acf\/save_post', function($post_id) {\n    if (strpos($post_id, 'user_') === false) {\n        return $post_id;\n    }\n\u00a0\n    if (is_admin()) {\n        return;  \/\/ Bail if we are updating in admin\n    }\n\u00a0\n    $user_id = intval(substr($post_id, 5));\n\u00a0\n    \/\/ Use get_field() to get the saved\/submitted values if needed\n    \/\/ Then use wp_mail() to send an email\n});<\/code><\/pre>\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\u00e4psemate kohandatud v\u00e4ljade (ACF) abil esiotsa vormi loomine. Ma r\u00e4\u00e4gin \u00fcksikasjalikult, kuidas see t\u00f6\u00f6tab ja kuidas saate seda oma vajadustele vastavaks kohandada.<\/p>\n","protected":false},"author":1,"featured_media":224889,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,718,833,1110,842,812,812,833,842,863,863],"tags":[1165],"class_list":{"0":"post-233618","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-arendaja","9":"category-juhend-algajatele","10":"category-n-a","11":"category-opetused","12":"category-pistikprogrammid","16":"category-wordpress-4","18":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233618","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=233618"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224889"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}