{"id":233735,"date":"2023-02-21T12:59:00","date_gmt":"2023-02-21T09:59:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233735"},"modified":"2022-11-11T12:07:00","modified_gmt":"2022-11-11T09:07:00","slug":"wordpressi-teemaopetus-algajatele-7-osa-teema-seadistamine-ja-esiletoodud-pildid","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/wordpressi-teemaopetus-algajatele-7-osa-teema-seadistamine-ja-esiletoodud-pildid\/","title":{"rendered":"WordPressi teema\u00f5petus algajatele \u2013 7. osa: teema seadistamine ja esiletoodud pildid"},"content":{"rendered":"\n<p>See algajatele m\u00f5eldud WordPressi teema\u00f5petuse \u00f5ppetund j\u00e4tkub teema seadistamiseks vajaliku p\u00f5hikoodi lisamisega. \u00d5pime lisama teematugesid ja selle tulemusena aktiveerub WordPressi esilet\u00f5stetud pildifunktsioon. Selles \u00f5ppet\u00fckis parandame ka esilehe pealkirja, rakendades oma esimest filtrit.<\/p>\n<p>T\u00f6\u00f6tame enamasti <code>functions.php<\/code>failis, mille lisasime <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-6-a-themes-functions-file\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">eelmises \u00f5ppet\u00fckis<\/a>. L\u00f5pus lisame koodi esilet\u00f5stetud piltide v\u00e4ljastamiseks oma mallidesse.<\/p>\n<h2>Teema seadistamine<\/h2>\n<p>K\u00f5ik teemad vajavad seadistamiseks koodi, k\u00e4sitades WordPressil teatud funktsioonid aktiveerida. See h\u00f5lmab men\u00fc\u00fcde, vidinate, t\u00f5lkimise jms aktiveerimist. Seda tehakse tavaliselt teema seadistamise funktsioonis, mis on tavaliselt \u00fchendatud mugava nimega konksu k\u00fclge <code>after_setup_theme<\/code>. M\u00f5ne konkreetse asja jaoks peame kasutama WordPressi l\u00e4htestamiskonksu nimega <code>init<\/code>.<\/p>\n<h3>Vajaliku teema seadistuskoodi kirjutamine<code>after_setup_theme<\/code><\/h3>\n<p>Seadistagem selline teema seadistamise funktsioon <code>functions.php<\/code>, mis on seotud <code>after_setup_theme<\/code>:<\/p>\n<pre><code>add_action('after_setup_theme', 'wptutorial_setup_theme');\nfunction wptutorial_setup_theme() {\n\u00a0\n}<\/code><\/pre>\n<p>Selle funktsiooni sisse lisame WordPressi teemade jaoks hunniku tavalisi ja kasulikke h\u00e4\u00e4lestusfunktsioone. Palun asetage k\u00f5ik j\u00e4rgmised koodit\u00fckid oma seadistusfunktsiooni.<\/p>\n<p>Esmalt peame m\u00e4\u00e4ratlema piltide ja manuste (nt videote) maksimaalse laiuse. See tagab, et kui autorid lisavad postitustesse suuri pilte, j\u00e4\u00e4vad pildid teatud laiuse piiresse. Seadsin selle 840 pikslile (sest tahan ruumi k\u00fclgribale), kuid saate seda oma maitse j\u00e4rgi reguleerida.<\/p>\n<pre><code>$GLOBALS['content_width'] = 840;<\/code><\/pre>\n<p>Samuti peaksime WordPressile teatama, et teema on t\u00f5lgitav ja kust ta saab t\u00f5lkefaile otsida. WordPressi teema t\u00f5lkimist k\u00e4sitlen \u00fcksikasjalikult selle teema\u00f5petuse seeria <a href=\"http:\/\/awhitepixel.com\/blog\/wordpress-theme-tutorial-for-beginners-part-8-translation-of-your-theme\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">j\u00e4rgmises etapis .<\/a><\/p>\n<pre><code>load_theme_textdomain('wptutorial', get_stylesheet_directory(). '\/lang');<\/code><\/pre>\n<p>Pange t\u00e4hele, et teemakataloogi hankimiseks kasutatakse uut funktsiooni <code>get_stylesheet_directory()<\/code>. See on v\u00e4ga sarnane <code>get_stylesheet_directory_uri()<\/code>viimases etapis n\u00e4htule, kuid siin vajame suhtelist teed, mitte URL-i.<\/p>\n<p>Seej\u00e4rel peame lisama m\u00f5ned teematoed, mis aktiveerivad WordPressi funktsiooni, mis pole vaikimisi aktiveeritud.<\/p>\n<pre><code>add_theme_support('automatic-feed-links');\nadd_theme_support('post-thumbnails');\nadd_theme_support('html5', [\n    'search-form',\n    'comment-form',\n    'comment-list',\n    'gallery',\n    'caption',\n]);\nadd_theme_support('custom-logo', [\n    'height'      =&gt; 100,\n    'width'       =&gt; 300,\n    'flex-width'  =&gt; true,\n    'flex-height' =&gt; false,\n]);\nadd_theme_support('customize-selective-refresh-widgets');<\/code><\/pre>\n<p>See oli terve hulk <code>add_theme_support<\/code>k\u00f5nesid! Nagu nimigi viitab, <code>add_theme_support<\/code>k\u00e4sib WordPress aktiveerida funktsioonid, mis pole vaikimisi aktiveeritud. N\u00e4iteks esilet\u00f5stetud pildid (&quot;post-pisipildid&quot;), HTML5 siltide tugi ja WordPressi kohandatud logo funktsioon Customizeris (soovi korral kohandage soovitud logo pilti!).<\/p>\n<p>Seal on veel palju lahedaid funktsioone, seega soovitan teil lugeda <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_theme_support\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_theme_support dokumentatsiooni<\/a>. N\u00e4iteks on \u00fcsna uus <code>title-tag<\/code>, mis k\u00e4sitleb pealkirja silti. J\u00e4tsin selle sellest \u00f5petusest v\u00e4lja, kuna oleme pealkirjasildi juba <code>header.php<\/code>k\u00e4sitsi lisanud.<\/p>\n<p>Pidage meeles, et kui lisate toe <code>title-tag<\/code>, peaksite pealkirjam\u00e4rgend oma p\u00e4isefailist eemaldama, et v\u00e4ltida pealkirjam\u00e4rgendite dubleerimist.<\/p>\n<p>L\u00f5puks lisame m\u00f5ned <code>add_theme_support<\/code>WordPressi uue Gutenbergi jaoks. Lisame toe laiadele jaotistele, aktiveerides plokkide stiilide funktsionaalsuse ja toe tundlikele manustele:<\/p>\n<pre><code>add_theme_support('wp-block-styles');\nadd_theme_support('align-wide');\nadd_theme_support('responsive-embeds');<\/code><\/pre>\n<h3>L\u00f5pptulemus<\/h3>\n<p>Siin on meie l\u00f5plik seadistusfunktsioon <code>functions.php<\/code>:<\/p>\n<pre><code>add_action('after_setup_theme', 'wptutorial_setup_theme');\nfunction wptutorial_setup_theme() {\n    $GLOBALS['content_width'] = 840;\n    \/\/ Make your theme ready for translation\n    load_theme_textdomain('wptutorial', get_stylesheet_directory(). '\/lang');\n    \/\/ Add theme support for WordPress functionality\n    add_theme_support('automatic-feed-links');\n    add_theme_support('title-tag');\n    add_theme_support('post-thumbnails');\n    add_theme_support('html5', [\n        'search-form',\n        'comment-form',\n        'comment-list',\n        'gallery',\n        'caption',\n    ]);\n    add_theme_support('custom-logo', [\n        'height'      =&gt; 100,\n        'width'       =&gt; 300,\n        'flex-width'  =&gt; true,\n        'flex-height' =&gt; false,\n    ]);\n    add_theme_support('customize-selective-refresh-widgets');\n    \/\/ Add theme support for Gutenberg specific functionality\n    add_theme_support('wp-block-styles');\n    add_theme_support('align-wide');\n    add_theme_support('responsive-embeds');\n}<\/code><\/pre>\n<p>P\u00e4rast salvestamist peaksite n\u00fc\u00fcd saama administraatoris postitustele esilet\u00f5stetud pilte lisada! <code>functions.php<\/code>Enne esilet\u00f5stetud piltide lisamist oma mallidele lisame omale veel \u00fche teemaparanduse ; pea meeles, et <code>wp_title<\/code>meie <code>header.php<\/code>vaikimisi ei saa esilehel midagi v\u00e4lja kajata? Teeme selle korda.<\/p>\n<h2>Filtri lisamine<code>wp_title<\/code><\/h2>\n<p>Lisame oma esimese \u00f5ige filtri muutmise funktsiooni, kasutades <code>add_filter()<\/code>. Filtril, mille k\u00fclge \u00fchendame, on sama nimi kui funktsioonil, mida kasutasime WordPressi puhul lehe pealkirja d\u00fcnaamiliseks toomiseks; <code>wp_title<\/code>. Me parandame selle, et pealkiri ei oleks esilehel t\u00fchi \u2013 see on WordPressis vaikimisi. Esilehel olles soovime, et see oleks t\u00e4idetud WordPressi saidi nimega.<\/p>\n<p>Pidage meeles, et <strong>filtrifunktsioonides tagastatakse alati<\/strong> filtreeritud muutuja! K\u00f5ik filtrid muudavad muutujat ja kui te midagi ei tagasta, muutub muutuja m\u00e4\u00e4ratlemata. See v\u00f5ib p\u00f5hjustada palju probleeme. Filtrite kohta p\u00f5hjalikuma teabe saamiseks vaadake minu <a href=\"http:\/\/awhitepixel.com\/blog\/all-about-hooks-in-wordpress\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">postitust, mis selgitab k\u00f5ike konksude ja filtrite kohta<\/a>.<\/p>\n<h3>Teadmine, millal pealkirja kohandada<\/h3>\n<p>Pealkirja muutujat tahame kohandada ainult siis, kui oleme esilehel. K\u00f5igi teiste lehtede puhul tahame selle rahule j\u00e4tta (lihtsalt tagastage see sellisena, nagu see on). Aga kuidas me teame, kui oleme esilehel?<\/p>\n<p>Saame \u00e4ra kasutada <a href=\"https:\/\/codex.wordpress.org\/Conditional_Tags\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPressi tingimusm\u00e4rgendeid<\/a>, mis on terve hulk kasulikke funktsioone, mis tagastavad tingimuse alusel t\u00f5ese v\u00f5i v\u00e4\u00e4ra. Neid kasutatakse k\u00f5ige sagedamini selleks, et k\u00fcsida, kas oleme kindlal lehel v\u00f5i mallil. V\u00f5ime lihtsalt k\u00fcsida &quot;Kas oleme esilehel?&quot;. Kui see meetod tagastab t\u00f5ene, muudame pealkirja muutujat alles siis.<\/p>\n<p>V\u00e4\u00e4rib m\u00e4rkimist, et esilehel on kaks tingimuslikku silti, nimelt <code>is_home()<\/code>ja <code>is_front_page().<\/code>Need erinevad olenevalt teie &quot;Lugemise&quot; seadistusest \u2013 kas teie esilehel kuvatakse viimaseid postitusi v\u00f5i on see fikseeritud lehek\u00fclg. Kui j\u00e4rgite seda \u00f5petust uhiuue vaikeseadega WordPressi installiga, kasutate <code>is_front_page()<\/code>.<\/p>\n<h3>WordPressi saidi nime hankimine<\/h3>\n<p>N\u00fc\u00fcd teame, millist filtrit kasutada ja kuidas tagada, et muudaksime pealkirja ainult siis, kui oleme \u00f5iges kohas. Aga mis peaks pealkiri olema? Tavaliselt on esilehe lehe pealkiri teie WordPressi saidi nimi. Aga kuidas me seda teavet saame?<\/p>\n<p>WordPressi praeguse installi kohta teabe hankimiseks kasutame <code>bloginfo()<\/code>funktsiooni. Parameetrina palume tagastada saidi nime, mis tehakse, m\u00e4\u00e4rates parameetri v\u00e4\u00e4rtuseks &quot; <code>name<\/code>&quot;. Ja kuna see on filter ja me peame selle tagastama, mitte seda kordama, kasutame selle s\u00f5sarmeetodit <code>get_bloginfo()<\/code>. Helistamine <code>bloginfo()<\/code>kajab alati v\u00e4lja.<\/p>\n<pre><code>add_filter('wp_title', 'wptutorial_title_filter');\nfunction wptutorial_title_filter($title) {\n    if (is_front_page()) {\n        return get_bloginfo('name');\n    }\n    return $title;\n}<\/code><\/pre>\n<p>Kui v\u00e4rskendate oma esilehte, peaksite n\u00e4gema, et teie saidi nimi kuvatakse <code>&lt;title&gt;<\/code>sildis (ja brauseri vahekaardil)! Meie filter m\u00f5jutab ainult esilehte, nii et k\u00f5ik muud lehed, n\u00e4iteks \u00fcks postitus, peaksid tagastama sama, mis varem; postituse pealkiri.<\/p>\n<h2>Esilet\u00f5stetud piltide v\u00e4ljastamine mallifailides<\/h2>\n<p>Varem lisasime teematugede seadistamisel esiletoodud piltide toe. Kui see on aktiveeritud, saame n\u00fc\u00fcd need pildid oma mallidesse v\u00e4ljastada. Teeme seda n\u00fc\u00fcd!<\/p>\n<p>Avage <code>index.php<\/code>ja leidke neile silmuse sees koht. Otsustasin paigutada selle pealkirja j\u00e4rele, kuid see on teie otsustada, kuhu soovite. Funktsiooni kasutate <code>the_post_thumbnail()<\/code>pildi v\u00e4ljastamiseks. Soovitatav on esmalt kontrollida, kas postitusel on isegi esiletoodud pilt, mida teeme kasutades <code>has_post_thumbnail()<\/code>.<\/p>\n<pre><code>...\n    &lt;h2&gt;&lt;a href=\"&lt;?php the_permalink(); ?&gt;\" title=\"&lt;?php the_title(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;\/a&gt;&lt;\/h2&gt;\n    &lt;?php if (has_post_thumbnail()) {\n        the_post_thumbnail();\n    } ?&gt;\n    &lt;?php the_excerpt(); ?&gt;\n...<\/code><\/pre>\n<p>Kui teie postitusel pole esiletoodud pilti, ei n\u00e4e te pealkirja j\u00e4rel midagi. Kui aga m\u00e4\u00e4rate m\u00f5nele oma postitusele esilet\u00f5stetud pildi, <code>the_post_thumbnail()<\/code>v\u00e4ljastaks <code>&lt;img&gt;<\/code>see valitud pildiga sildi. See funktsioon aktsepteerib m\u00f5ningaid lisaparameetreid. N\u00e4iteks saate m\u00e4\u00e4rata, millist pildi suurust soovite kasutada, ja juhtida pildile lisatud atribuute. Nagu tavaliselt, soovitan teil kiiresti <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_post_thumbnail\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentatsiooniga<\/a> tutvuda ja oma maitse j\u00e4rgi kohandada.<\/p>\n<h2>Kasutatud meetodite dokumentatsioon<\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_action\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_action<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/load_theme_textdomain\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">load_theme_textdomain<\/a><\/li>\n<li><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/get_stylesheet_directory\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">get_stylesheet_directory<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_theme_support\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_theme_support<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/add_filter\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">add_filter<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/is_front_page\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">on_esileht<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_bloginfo\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hanki_blogiinfo<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/has_post_thumbnail\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">has_post_thumbnail<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/the_post_thumbnail\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">the_post_thumbnail<\/a><\/li>\n<\/ul>\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>See \u00f5ppetund j\u00e4tkub WordPressi teema seadistamiseks vajaliku p\u00f5hikoodi lisamisega. \u00d5pime lisama teematugesid ja filtreerima esilehe pealkirja.<\/p>\n","protected":false},"author":1,"featured_media":224083,"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":{"0":"post-233735","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-arendaja","8":"category-kood","10":"category-juhend-algajatele","12":"category-n-a","13":"category-opetused","14":"category-php-4","17":"category-teemasid","20":"category-wordpress-4","22":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233735","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=233735"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224083"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}