{"id":233626,"date":"2023-02-18T19:43:00","date_gmt":"2023-02-18T16:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233626"},"modified":"2022-11-11T00:42:48","modified_gmt":"2022-11-10T21:42:48","slug":"gravitatsioonivormide-kodeerimine-sissejuhatus","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/gravitatsioonivormide-kodeerimine-sissejuhatus\/","title":{"rendered":"Gravitatsioonivormide kodeerimine: sissejuhatus"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.gravityforms.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gravity Forms<\/a> on ehk WordPressi k\u00f5ige tuntum ja parim vormiehitaja pistikprogramm. Seda pole mitte ainult lihtne kasutada ja sellel on palju lisandmooduleid maksete v\u00f5i uudiskirjade lisamiseks oma vormidesse. Kuid see on ka v\u00e4ga arendajas\u00f5bralik ja paindlik. Isiklikult olen Gravity Formsi kasutanud ja arendanud v\u00e4hemalt 5 aastat \u2013 ja mul pole kunagi olnud funktsiooni, mida Gravity Formsiga poleks v\u00f5imalik v\u00f5i v\u00e4ga raske arendada.<\/p>\n<p>Pidage meeles, et Gravity Forms pole tasuta. Peate ostma litsentsi. Nad pakuvad selle hankimiseks ja kasutamiseks mitut erinevat t\u00fc\u00fcpi erineva hinnaga. Kui olete litsentsi ostnud, saate olenevalt sellest, millise litsentsi ostate, juurdep\u00e4\u00e4su ka nende lisandmoodulitele.<\/p>\n<h2>Gravitatsioonivormid meile, arendajatele<\/h2>\n<p>Gravity Forms pakub palju filtreid ja konkse, kuid pole \u00fchtegi malli, mida saaksite alistada. Konksud pakuvad arendajatele palju paindlikkust Gravity Formsi k\u00e4itumise laiendamiseks ja muutmiseks. Heitke pilk <a href=\"https:\/\/docs.gravityforms.com\/category\/developers\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Gravity Formsi arendajate dokumentatsioonilehtedele<\/a>. Enamik, kui mitte k\u00f5ik, kohandused tehakse m\u00f5nele Gravity Formsi objektile; kas otse v\u00f5i Gravity Forms API (<code>GFAPI<\/code>) klassi kaudu. Gravity Formsiga saate suhelda ka REST API abil (mis laiendab <a href=\"https:\/\/developer.wordpress.org\/rest-api\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressi REST API-t<\/a> ).<\/p>\n<p>N\u00e4idisv\u00f5imalused arendajatele on v\u00e4ljav\u00e4ljundite muutmine, v\u00e4lja v\u00e4\u00e4rtuste muutmine enne m\u00fc\u00fcgivihjena salvestamist ja meilim\u00e4rguannete programmeerimine. Muud n\u00e4ited h\u00f5lmavad kohandatud vormi s\u00e4tete lisamist, uute v\u00e4ljat\u00fc\u00fcpide loomist ja kohandatud v\u00e4ljade v\u00f5i v\u00e4ljav\u00e4\u00e4rtuste sisestamist olemasolevatesse vormidesse.<\/p>\n<p>Gravity Formsil on lisandmoodulite raamistik, mis on v\u00f5imaldanud teistel arendajatel luua Gravity Formsile oma lisandmooduleid. Ja neid on tehtud \u00fcsna v\u00e4he. Lisandmoodulite n\u00e4ideteks on MailChimpi registreerumine, Stripe&#8217;iga maksete l\u00fc\u00fcsid, Hubspot integratsioon, Polls, Quiz, Zapieri integratsioon ja Dropbox. Millised lisandmoodulid on saadaval, s\u00f5ltuvad teie litsentsist. Vaadake <a href=\"https:\/\/www.gravityforms.com\/add-ons\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\u00fclevaadet siit<\/a>.<\/p>\n<h2>Vormi renderdamine<\/h2>\n<p>Vormi v\u00e4ljastamine toimub l\u00fchikoodide abil, nt:<\/p>\n<pre><code>[gravityform id=\"2\" name=\"Contact us\" ajax=\"true\"]<\/code><\/pre>\n<p>\u00c4rge muretsege, Gravity Forms lisab nuppe ja dialooge teie postitustesse vormide kasutajas\u00f5bralikuks manustamiseks. Teie ega sisutoimetajad ei pea l\u00fchikoode k\u00e4sitsi sisestama.<\/p>\n<p>Kuid kui teil on arendajana vajadus vormi programmiliselt malli manustada, on teil vaja ainult vormi ID-d ja seej\u00e4rel lihtsalt l\u00fchikoodi kajata. Kui v\u00e4ljastame PHP-s l\u00fchikoodi, peame selle sisse pakkima <code>do_shortcode()<\/code>, et WordPress teisendab l\u00fchikoodi \u00f5igesti. Gravity Forms lisab teie eest k\u00f5ik vajalikud skriptid ja stiilid isegi siis, kui renderdate vormi PHP-ga.<\/p>\n<pre><code>echo do_shortcode('[gravityform id=\"2\" name=\"Contact us\" ajax=\"true\"]');<\/code><\/pre>\n<h2>Vormi teabe toomine<\/h2>\n<p>Teabe toomiseks on saadaval lihtsad API funktsioonid, nt k\u00f5igi vormide v\u00f5i \u00fche konkreetse vormiobjekti hankimine. Objektid on t\u00e4idetud k\u00f5igi seadistustega, sealhulgas k\u00f5igi vormi v\u00e4ljadega, samuti saate hankida k\u00f5ik vormi kirjed (vormi vastused). Oletame, et soovite luua <code>&lt;select&gt;<\/code>k\u00f5igi avaldatud vormidega a, mis v\u00f5imaldab kasutajal valida avaldatud vormide vahel:<\/p>\n<pre><code>\/\/ ...\n$all_forms = GFAPI::get_forms();\nif (!empty($all_forms)) {\n    $select = '&lt;select&gt;';\n    foreach ($all_forms as $form) {\n        $select .= '&lt;option value=\"'. $form['id']. '\"&gt;'. $form['title']. '&lt;\/option&gt;';\n    }\n    $select .= '&lt;\/select&gt;';\n}\necho $select;\n\/\/ ...<\/code><\/pre>\n<p>Heade kodeerimisstandardite j\u00e4rgimiseks, eriti kui arvestada, et Gravity Forms on plugin, mille saab desaktiveerida v\u00f5i lihtsalt mitte eksisteerida, kontrollige alati enne nende kasutamist, kas m\u00f5ni Gravity Formsi klass on olemas! Enne \u00fclaltoodud koodi lisaksin:<\/p>\n<pre><code>if (!class_exists('GFAPI')) {\n    return;\n}\n\/\/ Do stuff with GFAPI class<\/code><\/pre>\n<p>Konkreetse vormi objekti toomiseks on vaja ainult vormi ID-d (alloleval juhul 1):<\/p>\n<pre><code>$form = GFAPI::get_form(1);<\/code><\/pre>\n<p>Saate isegi vormiga objekti kaudu manipuleerida ja seej\u00e4rel seda v\u00e4rskendada, n\u00e4iteks muuta vormi pealkirja:<\/p>\n<pre><code>$form = GFAPI::get_form(1);\n$form['title'] = __('New Form Title', 'txtdomain');\nGFAPI::update_form($form);<\/code><\/pre>\n<h2>Vormi m\u00fc\u00fcgivihjete (vastuste) toomine<\/h2>\n<p>Vormi ID 1 jaoks vormi kirjete (vormi vastuste) toomine on sama lihtne kui:<\/p>\n<pre><code>$entries = GFAPI::get_entries(1);<\/code><\/pre>\n<p>Samuti saate hankida konkreetse kirje koos selle ID-ga ja samamoodi nagu vormi v\u00e4rskendamisel, saate kirje objektiga manipuleerida ja kutsuda sellel v\u00e4rskendusfunktsiooni, et see koos muudatustega salvestada. Allolev n\u00e4ide salvestab t\u00fchja stringi kirje IP-aadressi metasse, samuti v\u00e4lja ID 2 v\u00e4\u00e4rtuse:<\/p>\n<pre><code>$entry_to_change = GFAPI::get_entry(42);\n$entry_to_change['ip'] = '';\n$entry_to_change['2'] = 'New value';\nGFAPI::update_entry($entry_to_change);<\/code><\/pre>\n<p>K\u00f5ik \u00fclaltoodud on muudatused v\u00e4ga algtasemel. Olge kursis <a href=\"https:\/\/awhitepixel.com\/blog\/category\/gravity-forms\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kategoorias Gravity Forms<\/a>, et saada rohkem \u00f5petusi ja keerukamaid koodifunktsioone.<\/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>Selles algajatele arendajatele m\u00f5eldud juhendis vaatleme WordPressis gravitatsioonivormide kodeerimise p\u00f5hit\u00f5desid. Vaatame l\u00fchidalt lihtsaid koodin\u00e4iteid.<\/p>\n","protected":false},"author":1,"featured_media":152742,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,718,894,916,916,1110,842,812,812,842,863,863],"tags":[1165],"class_list":["post-233626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","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\/233626","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=233626"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233626\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/152742"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}