{"id":233336,"date":"2023-02-11T17:43:00","date_gmt":"2023-02-11T14:43:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233336"},"modified":"2022-11-10T20:33:04","modified_gmt":"2022-11-10T17:33:04","slug":"wordpressi-teemaopetus-algajatele-11-osa-kohandatud-lehemallid","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-teemaopetus-algajatele-11-osa-kohandatud-lehemallid\/","title":{"rendered":"WordPressi teema\u00f5petus algajatele \u2013 11. osa: kohandatud lehemallid"},"content":{"rendered":"\n<p>Selles algajatele m\u00f5eldud WordPressi teema\u00f5petuse \u00f5ppet\u00fckis \u00f5pime tundma lehemalle, mis need on, kuidas neid luua ja parimaid tavasid. N\u00e4itena teeme t\u00e4islaiusega malli. Samal ajal lisame kehasse ka klassi, k\u00fcsides, kas leht kasutab konkreetset lehemalli.<\/p>\n<h2>Mis on lehemallid<\/h2>\n<p>Lehek\u00fclje mallid on kasulikud juhtudel, kui soovite konkreetse lehe jaoks teistsugust paigutust v\u00f5i seadistust. Levinud n\u00e4ited lehemallide kasutamisest on postituste loetlemine kohandatud postitust\u00fc\u00fcbis (nt portfell, raamatud v\u00f5i teenused), t\u00e4iesti erineva sisu v\u00f5i paigutusega (nt veergude sees) v\u00f5i isegi lihtsalt lehe t\u00e4islaiuseks tegemine (ilma k\u00fclgribata).<\/p>\n<p>Lehemallide kasutatavus on p\u00e4rast WordPressi versiooni 5.x (Gutenberg) v\u00e4henenud. Uus Gutenbergi redaktor v\u00f5imaldab selliste lehtede koostamiseks suurt paindlikkust ilma lehemalle kasutamata. Sellest hoolimata \u00f5pime, kuidas lisada oma teemasse kohandatud lehemalli.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153948-61e516ac9d3c4.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-153948-61e516ac9d3c4.png\" alt=\"WordPressi teema\u00f5petus algajatele \u2013 11. osa: kohandatud lehemallid\" ><\/a><\/p>\n<p>Lehek\u00fclgede metakastis \u201eLehe atribuudid&#8221; kuvatakse lehemalli valik. Malli valik ilmub aga ainult siis, kui aktiivsel teemal on v\u00e4hemalt \u00fcks lehe mall.<\/p>\n<p>Lehe malle saab tegelikult kasutada ka postituste ja kohandatud postitust\u00fc\u00fcpide jaoks. P\u00e4rast WordPressi versiooni 4.7 ja uuemat versiooni saate m\u00e4\u00e4rata, millistele postitust\u00fc\u00fcpidele soovite malli k\u00e4ttesaadavaks teha. WordPress lisab nendele postitust\u00fc\u00fcpidele automaatselt vajaliku metakasti \u201eLehe atribuudid&quot;.<\/p>\n<h2>Lehek\u00fclje malli nimetamine ja paigutus<\/h2>\n<p>Alustuseks teete tavaliselt koopia mis tahes mallifailist, mis on k\u00f5ige l\u00e4hemal sellele, mida soovite lehemalliga saavutada. Enamikul juhtudel on see <code>page.php<\/code>. Mis puutub teie lehemalli nimetamisse, siis see on teie enda otsustada. Kuid on m\u00f5ned reeglid ja kaine m\u00f5istus.<\/p>\n<p>On ahvatlev anda oma lehe mallile lihtsalt nimi, nt <code>page-books.php<\/code>malli jaoks, mis sisaldab kohandatud postituse t\u00fc\u00fcpi raamatuid. \u00c4rge kunagi lisage oma lehe malli eesliidet &quot; <code>page-<\/code>&quot;! Kui m\u00e4letate <a href=\"https:\/\/codex.wordpress.org\/File:Template_Hierarchy.png#file\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressi mallide hierarhiast<\/a>, otsib WordPress <code>page-&lt;slug&gt;.php<\/code>enne proovimist <code>page.php<\/code>ja teie teema kasutajad v\u00f5ivad kogeda ootamatut k\u00e4itumist.<\/p>\n<p>Hea tava on lisada lehemalli ette midagi, mis ei kuulu WordPressi lehemallide nimede hulka. N\u00e4iteks &quot; <code>pagetemplate-'<\/code>, &quot; <code>pt-<\/code>&quot; v\u00f5i lihtsalt t\u00e4isnimi &quot; <code>fullwidth-template.php<\/code>&quot;. Samuti on hea tava hoida neid alamkaustas; <code>\/page-templates\/<\/code>see pole aga hea, kui soovite, et teie teema oleks saadaval, et seda saaks laiendada ka lapseteemaga. Alamteema ei saa alistada lehemalle, mis on paigutatud \u00fclemteema alamkausta.<\/p>\n<p>Kui olete nimetamismustri otsustanud, looge lehe mall.<\/p>\n<h2>Lehe malli loomine<\/h2>\n<p>Tehke koopia <code>page.php<\/code>ja nimetage see \u00fcmber <code>pagetemplate-fullwidth.php<\/code>. Selle lehemalliks muutmiseks peate lihtsalt alguses lisama kommentaari, mis \u00fctleb WordPressile, et see on lehe mall:<\/p>\n<pre><code>&lt;?php \n\/*\nTemplate Name: Fullwidth \n*\/\nget_header(); ?&gt;\n&lt;?php \nif (have_posts()) {\n...<\/code><\/pre>\n<p>K\u00f5ik, mida vajate, on kommentaar faili alguses koos &quot;Malli nimi: &quot; ja teie malli nimega p\u00e4rast seda. See on k\u00f5ik! Minge administraatorisse, muutke lehte ja peaksite n\u00e4gema v\u00f5imalust valida malliks &quot;T\u00e4islaius&quot;.<\/p>\n<p>Mainisin, et WordPress 4.7-s saate m\u00e4\u00e4ratleda, milliste postituste t\u00fc\u00fcpide jaoks soovite lehemalli saadaval olla. Praegu on see saadaval ainult lehtede jaoks, kuid v\u00e4idate, et soovite postitusi teha ka t\u00e4islaiusena? Sel juhul lisage samasse kommentaariplokki &quot;Malli postituse t\u00fc\u00fcp:&quot; ja m\u00e4\u00e4rake oma postituse t\u00fc\u00fcbid, eraldades need komaga. N\u00e4iteks selleks, et see oleks k\u00e4ttesaadav nii postituste kui ka lehtede jaoks;<\/p>\n<pre><code>&lt;?php \n\/*\nTemplate Name: Fullwidth \nTemplate Post Type: post, page\n*\/\nget_header(); ?&gt;\n&lt;?php \nif (have_posts()) {\n...<\/code><\/pre>\n<p>Redigeerige postitust ja peaksite n\u00e4gema uut metakasti &quot;Postituse atribuudid&quot;, kus saate valida t\u00e4islaiuse malli. Tore!<\/p>\n<h2>Koodi muutmine meie lehe mallis<\/h2>\n<p>N\u00fc\u00fcd redigeerime lehe malli nii, et see teeks tegelikult midagi muud kui \u00fche lehe vaade. Eemaldame k\u00fclgriba malli taotluse: (kommenteerisin selle n\u00e4htavamaks muutmiseks, kuid saate rea lihtsalt kustutada).<\/p>\n<pre><code>...\n    ?&gt;&lt;p&gt;&lt;?php _e('No posts, sorry.', 'wptutorial'); ?&gt;&lt;\/p&gt;&lt;?php\n}\n\/\/get_sidebar(); \nget_footer(); ?&gt;<\/code><\/pre>\n<p>Teeme veel \u00fche asja, et muuta meie lehe malli lihtsamini stiilitavaks. CSS-i lisamisel peate sageli teadma, kas lehel on k\u00fclgriba v\u00f5i mitte, et kohandada veerge\/paigutust. Pea meeles <code>body_class<\/code>, mis pakub kehaelemendile terve hulga kasulikke tunde? Mis siis, kui lisaksime kehale kohandatud klassi, mis \u00fctleb meile, kas praegusel lehel on k\u00fclgriba v\u00f5i mitte?<\/p>\n<h2>Filter sisse<code>body_class<\/code><\/h2>\n<p>M\u00e4rkus. V\u00f5ib-olla olete m\u00e4rganud, et iga lehemalli kasutav leht v\u00f5i postitus saab juba kindla kehaklassi; &#8220;page-template-&#8221; \u2013 meie n\u00e4ites <code>\"page-template-pagetemplate-fullwidth\"<\/code>. See on \u00fcsna pikk klass ja pealegi tahame muuta oma teema paindlikumaks \u2013 ja v\u00f5imaldada t\u00e4islaiust ka muudel mallidel peale lehemalli kasutavate mallide. N\u00e4iteks tavaliselt ei taha te esilehel k\u00fclgriba, eks?<\/p>\n<p>M\u00e4rkus. See lisab kehale ainult klassi, nii et stiil muutub lihtsamaks, kuid tegelikult ei keela k\u00fclgriba v\u00e4ljundit. Peate meeles pidama, et kustutate selle sealt, <code>get_sidebar()<\/code>kus te seda ei soovi.<\/p>\n<p>Lisame filtri <code>body_class<\/code>kohandatud k\u00fclgriba klassi lisamiseks meie <code>functions.php<\/code>, et saaksite seda hiljem lisada muudel juhtudel, kui te k\u00fclgriba ei soovi. WordPressil on kena tingimusm\u00e4rgend, et kontrollida, kas lehemall on kasutusel; <code>is_page_template()<\/code>kuhu paned parameetriks oma lehemalli nime. Kui see ei vasta t\u00f5ele, tahame lisada klassi, seega lisame tagurpidi t\u00e4hega &#8220;!&#8221;:<\/p>\n<pre><code>add_filter('body_class', 'wptutorial_body_class_filter');\nfunction wptutorial_body_class_filter($classes) {\n    if (!is_page_template('pagetemplate-fullwidth.php')) {\n        $classes[] = 'has-sidebar';\n    }\n    return $classes;\n}<\/code><\/pre>\n<p>T\u00f5en\u00e4oliselt puutute mallide v\u00e4ljat\u00f6\u00f6tamise ajal aeg-ajalt kokku mallidega, millele te ei soovi k\u00fclgriba klassi lisada, ja lisage need juhtumid sellesse <code>if<\/code>. N\u00e4iteks kui te ei soovi k\u00fclgriba klassi esilehel, saate lisada <code>!is_front_page()<\/code>. See lisab klassi &quot;has-sidebar&quot; k\u00f5igile lehtedele, v\u00e4lja arvatud esileht ja lehe mall:<\/p>\n<pre><code>if (!is_front_page() &amp;&amp; !is_page_template('pagetemplate-fullwidth.php'))<\/code><\/pre>\n<p>Teie otsustada on, kui palju lehemalle soovite ja mida need peaksid sisaldama. See oli lihtsalt lihtne sissejuhatus. Kui olete huvitatud sellest, kuidas lehemallide sees muude postituste kohta p\u00e4ringuid teha, vaadake <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-12-custom-post-queries\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">j\u00e4rgmist sammu<\/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>Selles algajatele m\u00f5eldud teematunnis \u00f5pime tundma WordPressi kohandatud lehemalle; mis need on, kuidas neid luua ja parimad tavad.<\/p>\n","protected":false},"author":1,"featured_media":223984,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,718,833,894,1110,842,802,802,833,926,926,842,863,863],"tags":[1165],"class_list":["post-233336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-juhend-algajatele","category-n-a","category-opetused","category-php-4","category-teemasid","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233336","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=233336"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233336\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/223984"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}