{"id":230048,"date":"2022-12-01T10:44:00","date_gmt":"2022-12-01T07:44:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230048"},"modified":"2022-11-09T19:51:44","modified_gmt":"2022-11-09T16:51:44","slug":"kehaklassi-lisamine-malli-alusel","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kehaklassi-lisamine-malli-alusel\/","title":{"rendered":"Kehaklassi lisamine malli alusel"},"content":{"rendered":"\n<p>Mallidega t\u00f6\u00f6tamine WordPressis on midagi, mis pole haruldane. K\u00f5ik on omamoodi mallid \u2013 alates p\u00f5hilehe mallist, \u00fche lehe mallist ja 404 mallist \u2013 kuni kohandatud mallideni.<\/p>\n<p>M\u00f5nikord v\u00f5ite siiski soovida <code>body<\/code>kasutataval mallil p\u00f5hinevale elemendile klassi rakendada, et saaksite selle konkreetse malli stiili muuta kui \u00fclej\u00e4\u00e4nud saidil.<\/p>\n<p>Kuigi saate seda teha mitmel erineval viisil, on meil k\u00f5igil oma meetodid, nii et m\u00f5tlesin, et jagan oma meetodeid.<\/p>\n<h2>Kehaklass malli alusel<\/h2>\n<p>Enne mallil p\u00f5hineva kehaklassi lisamise koodi juurde h\u00fcppamist on oluline m\u00e4rkida, et ma eeldan, et malli nimi on j\u00e4rgmises vormingus: <code>template-{name-of-template}.php<\/code>.<\/p>\n<p>Oletame, et t\u00f6\u00f6tate kuu aja jooksul kaotatud kaalu kohta teabe kuvamiseks malli kallal ja soovite seda teha, kasutades selleks malli. Malli v\u00f5ib nimetada <code>template-weight-loss.php<\/code>.<\/p>\n<p>Asi on siin: klassi nime rakendamine \u00fchele seda malli kasutavale lehele ei ole suurem asi. Aga kui teil on mitu lehte, mis kasutavad seda malli (mis on m\u00f5istlik, kui kasutate saiti, kus paljud inimesed v\u00f5ivad seda malli kasutada, eks?), siis peate kindlasti kasutama klassi nime igale lehele, mis on selle mallina.<\/p>\n<p>Aga kuidas?<\/p>\n<p>Seda saate teha mitmel viisil, kuid selleks on vaja v\u00e4hemalt j\u00e4rgmist.<\/p>\n<ol>\n<li>Haakimine <strong><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/body_class\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">body_class<\/a><\/strong> konksuga, mida WordPress pakub,<\/li>\n<li>Malli nime lugemine,<\/li>\n<li>Selle rakendamine keha klassi nimele (kui leht kasutab malli)<\/li>\n<\/ol>\n<p>\u00d5nneks on seda lihtne teha, sest konks edastab hulga klasse konksuga funktsiooni ja antud postituse metaandmed sisaldavad seda, kas see kasutab malli v\u00f5i mitte.<\/p>\n<p>Seda <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/e053ff5fdc82af9854bf7031d57a759d#file-00-add-body-class-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">on v\u00f5imalik saavutada j\u00e4rgmiselt.<\/a><\/strong><\/p>\n<pre><code>&lt;?php\n\nadd_filter('body_class', 'acme_add_body_class');\n\/**\n * If the current page has a template, apply it's name to the list of classes. This is\n * necessary if there are multiple pages with the same template and you want to apply the\n * name of the template to the class of the body.\n *\n * @param array $classes The current array of attributes to be applied to the \n *\/\nfunction acme_add_body_class($classes)\n{\n  if (!empty(get_post_meta(get_the_ID(), '_wp_page_template', true))) {\n      \/\/ Remove the `template-` prefix and get the name of the template without the file extension.\n      $templateName = basename(get_page_template_slug(get_the_ID()));\n      $templateName = str_ireplace('template-', '', basename(get_page_template_slug(get_the_ID()), '.php'));\n\n      $classes[] = $templateName;\n  }\n\n  return array_filter($classes);\n}\n<\/code><\/pre>\n<p>Pange t\u00e4hele, et selle jaoks v\u00f5ite kasutada pigem sulgemist kui funktsiooni nime konksuga ja s\u00f5ltumatut funktsiooni, kuid kuna erinevad seda lugevad inimesed kasutavad PHP erinevaid versioone, on lihtsaim viis selle demonstreerimiseks kasutada seda \u00fclalpool.<\/p>\n<h2>Miks seda teha?<\/h2>\n<p>\u00dcldiselt, kui teie lehel on sama nimi, mis rakendataval mallil, siis on sellel klassi nimi, mis \u00fchtib lehe nimega.<\/p>\n<p>See t\u00e4hendab, oletame, et teil on \u00fcks leht ja selle nimi on Weight Loss. Elemendil <code>body<\/code>on <code>weight loss<\/code>klass. Kuid kui kasutate teist, kolmandat, neljandat v\u00f5i nii m\u00f5ndagi teistsuguse pealkirjaga lehel, pole sellel seda klassi.<\/p>\n<p>Kui soovite veenduda, <code>body<\/code>et klassi nimi p\u00f5hineb mallil, siis \u00fclaltoodud kood tagab selle toimimise.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lihtne viis malli nime alusel kehaklassi rakendamiseks WordPressi API-de ja PHP funktsioonide abil.<\/p>\n","protected":false},"author":1,"featured_media":163533,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,916,842,802,863],"tags":[1165],"class_list":["post-230048","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-muud","category-opetused","category-php-4","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230048","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=230048"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/230048\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/163533"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=230048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=230048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=230048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}