{"id":233760,"date":"2023-02-21T14:58:00","date_gmt":"2023-02-21T11:58:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233760"},"modified":"2023-02-21T14:59:29","modified_gmt":"2023-02-21T11:59:29","slug":"postituste-animeeritud-filtreerimine-kategooriate-jaergi","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/postituste-animeeritud-filtreerimine-kategooriate-jaergi\/","title":{"rendered":"Postituste animeeritud filtreerimine kategooriate j\u00e4rgi"},"content":{"rendered":"\n<p>Kas olete kunagi tahtnud teha postitustest kena veeruesitluse, mille kohal on kategooriafiltrid, mis segavad ja filtreerivad postitusi kena animatsiooniga? Siis on see \u00f5petus teile.<\/p>\n<p>Selles \u00f5petuses koostame k\u00f5igi postituste loendi (eelistatavalt kohandatud postitust\u00fc\u00fcbi, nt t\u00f6\u00f6tajad) veergudes ja nende esiletoodud piltidega. Postituste kohal genereerime \u00fchendatud taksonoomia jaoks filtrid. Filtril kl\u00f5psamisel l\u00e4hevad postitused kena animatsiooniga segamini ja peidavad postitused, mida valitud kategoorias pole.<\/p>\n<\/p>\n<p>Selleks kasutame filtreerimiseks Javascripti teeki. Saadaval on palju \u2013 m\u00f5ned n\u00f5uavad jQueryt ja m\u00f5ned mitte \u2013 m\u00f5ned on avatud l\u00e4htekoodiga ja m\u00f5ned n\u00f5uavad kommertslitsentsi. K\u00f5ige populaarsemad on <a href=\"https:\/\/www.kunkalabs.com\/mixitup\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MixItUp<\/a> ja <a href=\"https:\/\/isotope.metafizzy.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Isotope<\/a>. Kuid m\u00f5lemad need n\u00f5uavad \u00e4rilitsentsi. Oma projekti jaoks vajasin raamatukogu, mis teeb selle triki \u00e4ra, olles samal ajal t\u00e4iesti tasuta kasutamiseks kommertsprojektides. Olen proovinud mitut ja parim, mis siiani leidnud olen, on <a href=\"https:\/\/yiotis.net\/filterizr\/#\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">FilterizR<\/a>. Alustame seda \u00f5petust selle raamatukoguga tutvumisega!<\/p>\n<h2>FilterizR teek<\/h2>\n<p>Vaadake <a href=\"https:\/\/yiotis.net\/filterizr\/#\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">FilterizR-i kodulehel<\/a> olevat demot, et n\u00e4ha, kas see teek on teie jaoks. Saate isegi reaalajas valikutega m\u00e4ngida. See teek toetab filtreerimist (mida me selles \u00f5petuses teeme), segamist (juhusliku j\u00e4rjestuse muutmist), otsimist ja sortimist. See on tundlik ja mobiilseadmete jaoks optimeeritud. Seni, mida ma olen kogenud, \u00f5nnestub see ka iga \u00fcksuse konteineri automaatse k\u00f5rguse m\u00e4\u00e4ramisega v\u00e4ga h\u00e4sti.<\/p>\n<p>FilterizR pakub kolme erinevat kasutusviisi:<\/p>\n<ul>\n<li>Vanilla Javascript: paljastab FilterizR-i globaalse funktsioonina standardse Javascripti v\u00e4ljakutsumiseks.<\/li>\n<li>jQuery: v\u00f5imaldab teil seda kasutada <code>jQuery<\/code>selle l\u00e4htestamiseks ja seadistamiseks.<\/li>\n<li>Puhas Javascripti teek\/npm: kasutamiseks ES6 importimisel (nt kui kirjutate Gutenbergi jaoks kohandatud plokid).<\/li>\n<\/ul>\n<p>Teine v\u00f5imalus on k\u00f5ige lihtsam inimestele, kes ei tunne Javascripti. Enamik inimesi alustab jQueryga. Kuid pidage meeles, et jQuery on teie projektis laadimiseks suur ja raske teek ning kui seda saab v\u00e4ltida, peaksite seda tegema. Selles \u00f5petuses kasutame vanilje Javascripti meetodit. Kui rakendate seda kohandatud Gutenbergi plokis, peaksite kaaluma kolmanda v\u00f5imaluse kasutamist. Seej\u00e4rel saate selle lihtsalt installida <code>npm<\/code>ja oma plokkkoodis raamatukogu importida.<\/p>\n<h2>Failide allalaadimine ja seadistamine<\/h2>\n<p>Otsime sobiva faili k\u00e4tte! Allalaadimiseks minge <a href=\"https:\/\/github.com\/giotiskl\/filterizr\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">FilterizR-i Githubisse<\/a>. Kui te ei installi npm-i kaudu (kolmas valik), v\u00f5ite minna kausta &quot; <code>dist<\/code>&quot; ja laadida alla vajaliku minimeeritud teegi. Kuna ma kasutan seda selles \u00f5petuses vanilje Javascriptiga, laadin <code>vanilla.filterizr.min.js<\/code>faili alla ja asetan selle oma <code>theme-folder\/assets\/js\/<\/code>kausta. See, kuhu raamatukogu paigutate, on loomulikult teie enda otsustada, lihtsalt reguleerige teed allapoole.<\/p>\n<p>Samuti vajame l\u00e4htestamiseks ja valikute otsustamiseks teist Javascripti faili. Ma loon faili <code>theme-folder\/assets\/js\/filtering-main.js<\/code>. Tuleme selle faili juurde hiljem tagasi. See pole muidugi vajalik, kui rakendate seda kohandatud Gutenbergi plokis.<\/p>\n<p>Selleks, et WordPress h\u00f5lmaks skripte, peame m\u00f5lemad skriptid <code>wp_enqueue_scripts<\/code>konksu j\u00e4rjekorda panema. Selle saab lisada kuhugi teie teemasse <code>functions.php<\/code>. Nagu nii:<\/p>\n<pre><code>add_action('wp_enqueue_scripts', function() {\n    wp_enqueue_script('filterizr', get_template_directory_uri(). '\/assets\/js\/vanilla.filterizr.min.js', [], false, true);\n    wp_enqueue_script('filtering-script', get_template_directory_uri(). '\/assets\/js\/filtering-main.js', ['filterizr'], false, true);\n});<\/code><\/pre>\n<p>Kohandage failinimesid ja\/v\u00f5i teid, et need sobiksid oma projekti\/teemaga. \u00dclaltoodud kood seab j\u00e4rjekorda vanilla filterizR skripti ja teiseks <code>filtering-main.js<\/code>skripti, mis s\u00f5ltub filterizR skriptist. See tagab, et l\u00e4htestamisskript laaditakse p\u00e4rast vajalikku teeki.<\/p>\n<h2>Malli renderdamine<\/h2>\n<p>J\u00e4rgmine samm on koht, kuhu tahame selle postituste loendi renderdada. See on t\u00e4ielikult teie otsustada. Et see oleks selles \u00f5petuses lihtne, kasutan oma teemas lehemalli. Kui rakendate seda Gutenbergi plokis, saate selle renderdada kas PHP-ga (d\u00fcnaamiliste plokkide jaoks) v\u00f5i Javascriptiga ploki <code>save<\/code>meetodil. Oluline osa on postitusi ja filtreid \u00fcmbritseva HTML-i korrektne renderdamine.<\/p>\n<h3>Filtrite renderdamine<\/h3>\n<p>Loon oma teemakausta lehemalli <code>template-filters.php<\/code>ja lisan oma PHP-koodi, et v\u00e4ljund seal renderdada.<\/p>\n<p>Selles \u00f5petuses eeldame, et tahame postitusi renderdada kohandatud postituse t\u00fc\u00fcbis. Seda saab teha tavaliste postituste ja kategooriatega, kuid postitusi tuleb tavaliselt \u00fcsna palju \u2013 mida pole sellise kuvamise puhul otstarbekas kasutada. Oletame n\u00e4iteks kohandatud postituse t\u00fc\u00fcpi t\u00f6\u00f6tajate jaoks, kellel on osakonna jaoks \u00fchendatud kohandatud taksonoomia. Ma ei n\u00e4ita selles \u00f5petuses, kuidas kohandatud postituse t\u00fc\u00fcpi lisada, vaid pidage meeles, et postituse t\u00fc\u00fcbi nimi on <code>employees<\/code>ja kohandatud taksonoomia nimi on <code>department<\/code>. L\u00fclitage oma postituse t\u00fc\u00fcbi ja taksonoomia nimed v\u00e4lja. Kui te pole kindel, kuidas kohandatud postitust\u00fc\u00fcpi lisada, on mul <a href=\"https:\/\/wordpress.mediadoma.com\/et\/looge-wordpressis-koodi-jaergi-kohandatud-postitustueuepe-ja-kohandatud-taksonoomiaid\/\" title=\"\u00f5petuspostitus kohandatud postitust\u00fc\u00fcpide ja taksonoomiate loomise kohta\">\u00f5petuspostitus kohandatud postitust\u00fc\u00fcpide ja taksonoomiate loomise kohta<\/a>.<\/p>\n<p>Oma mallis alustan filtrite genereerimisest. Toon k\u00f5ik oma kohandatud taksonoomias olevad mittet\u00fchjad terminid <code>[get_terms](https:\/\/developer.wordpress.org\/reference\/functions\/get_terms\/)()<\/code>ja lisan need j\u00e4rjestamata loendisse.<\/p>\n<pre><code>&lt;?php\n$departments = get_terms([\n    'taxonomy' =&gt; 'department'\n]);\n?&gt;&lt;ul class=\"filter-controls\"&gt;\n    &lt;li data-filter=\"all\"&gt;&lt;?php _e('All', 'txtdomain'); ?&gt;&lt;\/li&gt;&lt;?php\n    foreach ($departments as $department) {\n        ?&gt;&lt;li data-filter=\"&lt;?php echo $department-&gt;slug; ?&gt;\"&gt;&lt;?php echo $department-&gt;name; ?&gt;&lt;\/li&gt;&lt;?php\n    }\n?&gt;&lt;\/ul&gt;\n\u00a0<\/code><\/pre>\n<p>Enne elementide genereerimist taksonoomias iga termini jaoks teen kindlasti \u00fche elemendi &quot;K\u00f5ik&quot; jaoks (rida <code>#6<\/code>). FilterizR-i filtreerimise toimimiseks peame andma <code>data-filter<\/code>igale filtrielemendile andmeatribuudi &quot; &quot;. Sisu peaks t\u00e4histab unikaalselt unikaalset filtreerimisv\u00e4\u00e4rtust, meie puhul termini slug (soovi korral v\u00f5ite kasutada terminit ID v\u00f5i midagi muud). See t\u00e4hendab, et pean postitustele lisama ka termini slugs andmeatribuutidena (vt hiljem), nii et FilterizR saab teada, millised postitused millisesse filtrisse kuuluvad.<\/p>\n<p>\u00dclaltoodud koodiga peaksite saama loendi &quot;K\u00f5ik&quot;, millele j\u00e4rgneb k\u00f5ik mittet\u00fchjad terminid. Suurep\u00e4rane!<\/p>\n<p>N\u00fc\u00fcd, selle all, hakkan ma postitusi renderdama.<\/p>\n<h3>Postituste renderdamine<\/h3>\n<p>Postituste renderdamisel peate meeles pidama kahte asja. \u00dcks on m\u00e4hkida k\u00f5ik postitused konteinerisse, millele ma annan klassi nime <code>filter-container<\/code>. Seda klassi peame Javascriptiga sihtima, et FilterizR t\u00f6\u00f6taks. Teiseks peab igal \u00fcksusel olema andmeatribuut &quot; <code>data-category<\/code>&quot;, mis loetleb k\u00f5ik komadega eraldatud terminid. Siin olevad v\u00e4\u00e4rtused peavad vastama v\u00e4\u00e4rtustele, mille genereerisite filtrite <code>data-filter<\/code>atribuudis &#8221; &quot;.<\/p>\n<p>Ma p\u00e4rin k\u00f5iki postitusi kohandatud postituse t\u00fc\u00fcbist <code>[WP_Query](https:\/\/developer.wordpress.org\/reference\/classes\/wp_query\/)<\/code>ja sirvin postitusi l\u00e4bi. See, mida postituse kohta kuvate, on t\u00e4ielikult teie otsustada, kuid allolev n\u00e4ide renderdab esiletoodud pildi, postituse pealkirja ja \u00fche kohandatud postituse meta ametinimetuse jaoks. K\u00f5ik sees olevad lingid, mis l\u00e4hevad \u00fchele t\u00f6\u00f6tajale.<\/p>\n<pre><code>&lt;?php\n$employees = new WP_Query([\n    'post_type' =&gt; 'employees',\n    'posts_per_page' =&gt; -1,\n    'orderby' =&gt; 'name',\n    'order' =&gt; 'ASC'\n]);\nif ($employees-&gt;have_posts()) {\n    ?&gt;&lt;div class=\"filter-container\"&gt;&lt;?php\n    while ($employees-&gt;have_posts()) {\n        $employees-&gt;the_post();\n\u00a0\n        $dep = wp_get_object_terms(get_the_ID(), 'department', ['fields' =&gt; 'slugs']);\n        ?&gt;&lt;div class=\"filtr-item\" data-category=\"&lt;?php echo implode(',', $dep); ?&gt;\"&gt;\n            &lt;a href=\"&lt;?php the_permalink(); ?&gt;\" title=\"&lt;?php the_title(); ?&gt;\"&gt;&lt;?php\n        if (has_post_thumbnail()) {\n            the_post_thumbnail('employees-thumb');\n        }\n\u00a0\n        $job_title = get_post_meta(get_the_ID(), 'job_title', true);\n        ?&gt;&lt;div class=\"employee-info\"&gt;\n            &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;\/h2&gt;\n            &lt;span class=\"job-title\"&gt;&lt;?php echo $job_title; ?&gt;&lt;\/span&gt;\n        &lt;\/div&gt;&lt;?php\n\u00a0\n\u00a0\n        ?&gt;&lt;\/a&gt;&lt;\/div&gt;&lt;?php\n    }\n    wp_reset_postdata();\n    ?&gt;&lt;\/div&gt;&lt;?php\n}\n?&gt;<\/code><\/pre>\n<p>Rea p\u00e4ring <code>#2-7<\/code>tagab, et toon k\u00f5ik postitust\u00fc\u00fcpi t\u00f6\u00f6tajate avaldatud postitused t\u00e4hestikulises j\u00e4rjekorras. <code>div<\/code>Enne iga postituse \u00fcmbrise renderdamist <code>#13<\/code>kasutan real, <code>[wp_get_object_terms](https:\/\/developer.wordpress.org\/reference\/functions\/wp_get_object_terms\/)()<\/code>et tuua k\u00f5ik sellele postitusele m\u00e4\u00e4ratud terminid. Parameetrina k\u00fcsin ainult terminite n\u00e4lkjaid. Tagastus on mis tahes m\u00e4\u00e4ratud termini n\u00e4lkjate massiiv. Seej\u00e4rel kasutan PHP funktsiooni <code>[implode](https:\/\/www.php.net\/manual\/en\/function.implode.php)()<\/code>, et luua k\u00f5igist massiivi elementidest komadega eraldatud string. <code>data-category<\/code>Seda kajastatakse juure n\u00f5utava atribuudina, <code>div<\/code>mis paneb filtrid t\u00f6\u00f6le.<\/p>\n<p>Iga postituse sisu osas on v\u00e4ljund \u00fcsna tavaline. Loome postituse esilet\u00f5stetud pildi, kasutades kohandatud pildi suurust (&#8216; <code>employees-thumb<\/code>&#8216;), postituse pealkirja ja \u00fche kohandatud postituse meta v\u00e4\u00e4rtust (t\u00f6\u00f6nimetuse jaoks). K\u00f5ik on m\u00e4hitud lingi sisse, mis l\u00e4heb selle t\u00f6\u00f6taja \u00fchele vaatele. Lisasin ka m\u00f5ned klassid ja \u00fcmbrised, et h\u00f5lbustada CSS-i sihtimist. Iga elemendi v\u00e4ljund on loomulikult t\u00e4ielikult teie enda otsustada.<\/p>\n<p>Sel hetkel peaks PHP renderdus olema valmis. Olete teretulnud stiilima ja kenasti v\u00e4lja n\u00e4gema, kuid \u00e4rge t\u00fclitage tulpade kujundamist. FilterizR loob teie jaoks veerud (flexbox). J\u00e4rgmine samm on tegelikult filtreerimisskripti l\u00e4htestamine!<\/p>\n<h2>Filtri skripti l\u00e4htestamine<\/h2>\n<p>Viimane osa on <code>filtering-main.js<\/code>skripti redigeerimine. Peame lihtsalt \u00fctlema FilterizR-ile, et see k\u00e4ivitaks meie renderdatud sisu filtreerimise. Siin tuleb siiski meeles pidada m\u00f5nda asja:<\/p>\n<p>FilterizR tagab, et k\u00f5igi postide pakkimismahuti suurus muudetakse automaatselt nii, et see sobiks vaatega. N\u00e4iteks kui aktiivne filter kuvab postitusi \u00fches reas ja me kl\u00f5psame teisel filtril, millel on neli rida, skaleeritakse konteiner automaatselt \u00f5igele k\u00f5rgusele. Nii veenduge, et p\u00e4rast seda ilmuv sisu ei j\u00e4\u00e4ks peitu. Kuid selleks, et see automaatne suuruse muutmine t\u00f6\u00f6taks, peavad k\u00f5ik pildid olema esmalt laaditud. M\u00f5nel juhul v\u00f5idakse skript laadida ja k\u00e4ivitada enne iga pildi laadimise l\u00f5petamist ning see p\u00f5hjustab konteineri automaatse ahendamise k\u00f5rgusele 0. See pole hea. Seega peame asetama l\u00e4htestamiskoodi funktsiooni sisse, kus teame, et pildid on laaditud. Vanilje Javascripti jaoks on see <code>window.onload<\/code>. jQuery jaoks kasutaksite <code>$(window).load()<\/code>.<\/p>\n<p>Teiseks tahame veenduda, et meie skript initsialiseerib FilterizR-i ainult siis, kui seal on t\u00f5esti filtreeritav konteiner. Kui initsialiseerime FilterizR-i ja praegusel lehel pole vajalikku \u00fcmbrisklassi, p\u00f5hjustab see Javascripti t\u00f5rke. Seda saame lahendada, kontrollides, kas konteineriklass on k\u00f5igepealt olemas. Vanilje Javascriptis saate kasutada <code>document.getElementById()<\/code>v\u00f5i <code>document.getElementsByClassName()<\/code>. Vaata n\u00e4idet allpool. jQuery puhul peaksite <code>jQuery('&lt;selector&gt;').length<\/code>seda kontrollima.<\/p>\n<p>FilterizR initsialiseerimiseks vanilje Javascriptiga on uue eksemplari loomine <code>Filterizr<\/code>, pakkudes esimese parameetrina konteineri valijat ja soovi korral teise parameetrina seadete objekti. See on n\u00e4ide k\u00f5ige elementaarsemast:<\/p>\n<pre><code>window.onload = function() {\n    var filterContainer = document.getElementsByClassName('filter-container');\n    if (filterContainer.length &gt; 0) {\n        filterizr = new Filterizr('.filter-container');\n    }\n\u00a0\n}<\/code><\/pre>\n<p>Initsialiseerimine toimub real <code>#4<\/code>. Anname meie postituste \u00fcmber olevale konteinerile klassi nime, mille ees on punkt, mis t\u00e4histab klassi valijat. \u00dclaltoodud koodiga peaks FilterizR n\u00fc\u00fcd teie postitused \u00fcle v\u00f5tma ja veergudesse paigutama. Kuna kasutasime sobivaid andmeatribuute, peaksid ka filtrid automaatselt t\u00f6\u00f6tama!<\/p>\n<h3>FilterizR-i valikute kohandamine<\/h3>\n<p>Mul on vaid m\u00f5ned viimased n\u00e4pun\u00e4ited FilterizR-i optimeerimiseks, mida saame teha seadete objekti esitamisega. Soovitan vaadata FilterizR-i <a href=\"https:\/\/yiotis.net\/filterizr\/#\/documentation\/vanilla\/options\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">v\u00f5imalikke valikuid<\/a>, et n\u00e4ha, mida saate teha. Saate juhtida animatsiooni kiirust, animatsiooni t\u00fc\u00fcpi ja palju muud!<\/p>\n<p>Veergude optimaalseks toimimiseks reageerivates suurustes leidsin, et kui m\u00e4\u00e4rate <code>layout<\/code>v\u00e4\u00e4rtusele \u201e <code>sameWidth<\/code>&#8220;, t\u00f6\u00f6tab FilterizR paremini erineva k\u00f5rgusega postitustega. Selle tulemuseks on &quot;m\u00fc\u00fcritise&quot; stiil. Meie n\u00e4ites kajastame p\u00e4rast pilti t\u00e4iendavat sisu ja see v\u00f5ib p\u00f5hjustada erineva k\u00f5rguse (nimed v\u00f5ivad olla pikemad, sundides seda mitmele reale). See v\u00f5ib p\u00f5hjustada kummalist k\u00e4itumist.<\/p>\n<p>Vaikimisi ei ole iga \u00fcksuse vahel t\u00fchikut. Kui soovite iga \u00fcksuse vahele j\u00e4tta t\u00fchiku, saate m\u00e4\u00e4rata vahemiku suuruse pikslites <code>gutterPixels<\/code>. \u00dclaltoodud n\u00e4ites kasutasin vahe suurusena 10 pikslit. PS: m\u00e4hkimisanumale lisatakse ka vahe suurus. See ei pruugi alati olla see, mida soovite. Selle t\u00fchistamiseks lisasin lihtsalt <code>padding: 0!important<\/code>stiili <code>.filter-container<\/code>.<\/p>\n<p>Siin on kohandatud kood FilterizR-i l\u00e4htestamiseks minu valikutega:<\/p>\n<pre><code>window.onload = function() {\n    var filterContainer = document.getElementsByClassName('filter-container');\n    if (filterContainer.length &gt; 0) {\n        var options = {\n            layout: 'sameWidth',\n            gutterPixels: 10,\n        }\n        filterizr = new Filterizr('.filter-container', options);\n    }\n\u00a0\n}<\/code><\/pre>\n<p>M\u00f5ne v\u00e4iksema stiiliga on tulemus umbes selline:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-152296-61e4d54c4aa2b.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-152296-61e4d54c4aa2b.png\" alt=\"Postituste animeeritud filtreerimine kategooriate j\u00e4rgi\"><\/a><\/p>\n<p>Pidage meeles, et filtreerimine on vaid \u00fcks asi, mida FilterizR teha saab! Vaadake n\u00e4iteid nende <a href=\"https:\/\/yiotis.net\/filterizr\/#\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">avalehe<\/a> jaotises \u201e\u00d5petused&#8221;. Saate lisada juhtelemente sortimiseks, segamiseks ja\/v\u00f5i otsimiseks. Ja teil on ka paigutuse juhtimiseks rohkem v\u00f5imalusi.<\/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>Kas olete kunagi tahtnud teha postitustest kena veeruesitluse \u00fclalolevate kategooriafiltritega, mis filtreerib postitused kena animatsiooniga? Siis \u00e4rge enam otsige!<\/p>\n","protected":false},"author":1,"featured_media":152297,"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,926,926,842,863,863],"tags":[1165],"class_list":{"0":"post-233760","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-arendaja","8":"category-kood","11":"category-muud","13":"category-n-a","14":"category-opetused","15":"category-teemasid","18":"category-wordpress-4","20":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233760","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=233760"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233760\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/152297"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}