{"id":233520,"date":"2023-02-16T16:52:00","date_gmt":"2023-02-16T13:52:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233520"},"modified":"2022-11-11T00:08:33","modified_gmt":"2022-11-10T21:08:33","slug":"kuidas-lisada-taepsemate-kohandatud-vaeljadega-menueueueksustele-suurepaeraseid-ikoone","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kuidas-lisada-taepsemate-kohandatud-vaeljadega-menueueueksustele-suurepaeraseid-ikoone\/","title":{"rendered":"Kuidas lisada t\u00e4psemate kohandatud v\u00e4ljadega men\u00fc\u00fc\u00fcksustele suurep\u00e4raseid ikoone"},"content":{"rendered":"\n<p>See postitus n\u00e4itab teile, kuidas saate oma men\u00fc\u00fcsse ikoonide lisamiseks kasutada t\u00e4psemaid kohandatud v\u00e4lju (ACF). Selles n\u00e4ites lisame ikooni <a href=\"https:\/\/fontawesome.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Fontawesome<\/a>, kuid saate koodi oma vajadustele vastavaks muuta. Selle asemel v\u00f5iksite lisada SVG-failide jaoks failivalija v\u00f5i midagi muud.<\/p>\n<p>See juhend t\u00f6\u00f6tab <a href=\"https:\/\/wordpress.org\/plugins\/advanced-custom-fields\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Advanced Custom Fields tasuta versiooniga<\/a>, kuid veenduge, et teil oleks versioon 5.6 v\u00f5i uuem.<\/p>\n<h2>ACF-r\u00fchma ja -v\u00e4lja lisamine<\/h2>\n<p>Esimene samm on v\u00e4lja enda men\u00fc\u00fcelementide lisamine. See juhend lisab tekstisisestuse Fontawesome&#8217;i ikooni klassi nime sisestamiseks, kuid kui soovite muud lahendust (nt SVG-faili failivalija), muutke v\u00e4lja sisestusi.<\/p>\n<p>Veenduge, et teie t\u00e4psemate kohandatud v\u00e4ljade r\u00fchma asukohaks on m\u00e4\u00e4ratud \u201eMen\u00fc\u00fc\u00fcksus&quot;. Saate m\u00e4\u00e4rata selle v\u00e4\u00e4rtuseks \u201eK\u00f5ik&#8221; v\u00f5i m\u00e4\u00e4rata men\u00fc\u00fc asukohtade v\u00f5i konkreetsete men\u00fc\u00fcde j\u00e4rgi.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153055-61e506fa60c76.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-153055-61e506fa60c76.png\" alt=\"Kuidas lisada t\u00e4psemate kohandatud v\u00e4ljadega men\u00fc\u00fc\u00fcksustele suurep\u00e4raseid ikoone\" ><\/a><\/p>\n<p>Kui lisate oma v\u00e4lju ja r\u00fchmitate koodi j\u00e4rgi, m\u00e4\u00e4rake asukoha parameetriks &quot; <code>nav_menu_item<\/code>&quot;. Lisateabe saamiseks vaadake minu <a href=\"https:\/\/awhitepixel.com\/blog\/complete-reference-for-adding-advanced-custom-fields-acf-fields-and-groups-by-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">t\u00e4ielikku viidet ACF-v\u00e4ljade lisamise kohta koodi j\u00e4rgi<\/a>.<\/p>\n<pre><code>acf_add_local_field_group([\n    ...\n    'location' =&gt; [\n        [\n            [\n                'param' =&gt; 'nav_menu_item',\n                'operator' =&gt; '==',\n                'value' =&gt; 'all'\n            ]\n        ]\n    ]\n]);<\/code><\/pre>\n<p>Mis puutub v\u00e4lja endasse, siis lisame lihtsa tekstisisestuse nimega &quot; <code>fontawesome_icon<\/code>&quot;.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153055-61e506fd705e6.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-153055-61e506fd705e6.png\" alt=\"Kuidas lisada t\u00e4psemate kohandatud v\u00e4ljadega men\u00fc\u00fc\u00fcksustele suurep\u00e4raseid ikoone\" ><\/a><\/p>\n<p>V\u00f5i koodi j\u00e4rgi lisage v\u00e4li j\u00e4rgmiselt:<\/p>\n<pre><code>[\n    'key' =&gt; 'field_fontawesome_icon',\n    'label' =&gt; __('Fontawesome icon class', 'txtdomain'),\n    'name' =&gt; 'fontawesome_icon',\n    'instructions' =&gt; __('Type the name of a &lt;a href=\"https:\/\/fontawesome.com\/icons?d=gallery&amp;m=free\" target=\"_blank\"&gt;Fontawesome icon&lt;\/a&gt; class. Example: \"fab fa-facebook\".', 'txtdomain'),\n    'type' =&gt; 'text',\n]<\/code><\/pre>\n<p>Selle kasutajas\u00f5bralikumaks muutmiseks on hea m\u00f5te lisada kirjeldus koos lingiga <a href=\"https:\/\/fontawesome.com\/icons?d=gallery&#038;m=free\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">saadaolevate Fontawesome&#8217;i ikoonide \u00fclevaatele<\/a>. Lisan lingi, et kuvada ainult tasuta ikoone, mitte \u00fchtegi Pro-i, kuna see on minu teema teek.<\/p>\n<p>P\u00e4rast v\u00e4lja salvestamist administraatorisse v\u00f5i koodisse peaksite n\u00fc\u00fcd men\u00fc\u00fc\u00fcksuse laiendamisel saama t\u00e4iendava v\u00e4lja:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153055-61e507009e5b9.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-153055-61e507009e5b9.png\" alt=\"Kuidas lisada t\u00e4psemate kohandatud v\u00e4ljadega men\u00fc\u00fc\u00fcksustele suurep\u00e4raseid ikoone\" ><\/a><\/p>\n<h2>M\u00e4rkus Fontawesome&#8217;i tundide kohta<\/h2>\n<p>Vanadel aegadel, enne Fontawesome 5, v\u00f5is Fontawesome&#8217;i klassi pakkumine olla kasutaja jaoks m\u00f5nev\u00f5rra lihtsustatud. Ostukorvi jaoks v\u00f5ite lihtsalt kirjutada &quot;ostukorv&quot; ja meie koodi lisada klass &quot; <code>fa fa-<\/code>&quot; ja seej\u00e4rel antud klass (tulemuseks &quot; <code>fa fa-shopping-cart<\/code>&quot;). Kuid alates Fontawesome 5-st on tunnid olnud m\u00f5nev\u00f5rra keerulised.<\/p>\n<p>&quot;\u00dcldine&quot; klass &quot; <code>fa<\/code>&quot; on asendatud ikoonit\u00fc\u00fcbile vastavate kategooriatega. N\u00e4iteks sotsiaalmeedia v\u00f5i logod kuuluvad kaubam\u00e4rkide kategooriasse ja n\u00f5uavad klassi &quot; <code>fab<\/code>&quot;, tahkete ikoonide jaoks on vaja klassi &quot; <code>fas<\/code>&quot;, tavaliste ikoonide jaoks aga &quot; <code>far<\/code>&quot; jne. Seet\u00f5ttu peame n\u00fc\u00fcd n\u00f5udma, et teemakasutaja sisestaks m\u00f5lemasse Fontawesome&#8217;i klassi. \u00d5ige klassi leidmine peaks olema lihtne, kuna see on selgelt n\u00e4idatud igal Fontawesome&#8217;i saidi ikoonil:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153055-61e50702d0f82.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-153055-61e50702d0f82.png\" alt=\"Kuidas lisada t\u00e4psemate kohandatud v\u00e4ljadega men\u00fc\u00fc\u00fcksustele suurep\u00e4raseid ikoone\" ><\/a><\/p>\n<p>N\u00e4iteks peate sisestama <code>fas fa-shopping-cart<\/code>ostukorvi ikooni men\u00fc\u00fc\u00fcksuse kohandatud v\u00e4ljale &quot; &quot;.<\/p>\n<h2>Ikooni kuvamine men\u00fc\u00fcs<\/h2>\n<p>J\u00e4rgmine ja viimane samm on ikooni renderdamine men\u00fc\u00fcs, kui see on m\u00e4\u00e4ratud. Selleks kasutame WordPressi filtrit <code>[wp_nav_menu_objects](https:\/\/developer.wordpress.org\/reference\/hooks\/wp_nav_menu_objects\/)<\/code>. Seda filtrit rakendatakse iga men\u00fc\u00fc jaoks k\u00f5igis renderdatud men\u00fc\u00fcdes vahetult enne selle HTML-i genereerimist, v\u00f5imaldades meil muuta tekstiv\u00e4ljundit, klasse ja palju muud.<\/p>\n<p>See, kuidas soovite ikooni v\u00e4ljastada, on j\u00e4llegi teie otsustada. Kas soovite lingi teksti asendada ikooniga v\u00f5i soovite ikooni n\u00e4idata kas enne v\u00f5i p\u00e4rast tekstilinki? J\u00e4rgime Fontawesome&#8217;i harjumust, v\u00e4ljastades <code>&lt;i&gt;<\/code>pakutud klassiga sildi.<\/p>\n<pre><code>add_filter('wp_nav_menu_objects', function($items) {\n    foreach ($items as &amp;$item) {\n        $icon = get_field('fontawesome_icon', $item);     \n        if ($icon) {\n            $item-&gt;title = '&lt;i class=\"'. $icon. '\"&gt;&lt;\/i&gt;'. $item-&gt;title;\n        }\n    }\n    return $items;\n});<\/code><\/pre>\n<p>Men\u00fc\u00fc\u00fcksusi muudetakse nii, et sirvime men\u00fc\u00fcelemente, kasutades viidet (<code>&amp;<\/code>muutuja ette lisades). See t\u00e4hendab, et k\u00f5ik \u00fcksuses tehtavad muudatused rakenduvad p\u00f5hi\u00fcksuste objektile.<\/p>\n<p>Iga \u00fcksuse puhul kasutame <code>get_field()<\/code>oma v\u00e4lja v\u00e4\u00e4rtuse leidmiseks funktsiooni Advanced Custom Field <code>fontawesome_icon<\/code>. Kui see on m\u00e4\u00e4ratud, oleme valmis minema. \u00dclaltoodud koodin\u00e4ide lisab ikooni teksti ette. Kui soovite lisada ikooni p\u00e4rast teksti, asendage rida <code>#6<\/code>j\u00e4rgmisega:<\/p>\n<pre><code>$item-&gt;title .= '&lt;i class=\"'. $icon. '\"&gt;&lt;\/i&gt;';<\/code><\/pre>\n<p>V\u00f5i kui soovite teksti asendada ikooniga \u2013 teksti ei kuvata, asendage rida <code>#6<\/code>j\u00e4rgmisega:<\/p>\n<pre><code>$item-&gt;title = '&lt;i class=\"'. $icon. '\" title=\"'. $item-&gt;title. '\"&gt;&lt;\/i&gt;';<\/code><\/pre>\n<p>Lisasin <code>title<\/code>atribuudi, et see oleks kasutajaliidese kasutaja jaoks veidi informatiivsem. Kuna tekst on eemaldatud, v\u00f5ib m\u00f5nikord olla l\u00f5ppkasutaja jaoks segadusse, mille jaoks see men\u00fc\u00fcelement on m\u00f5eldud. Kuid <code>title<\/code>atribuut tagab, et kasutaja saab kursorit ikooni kohal h\u00f5ljutades men\u00fc\u00fc\u00fcksuse tekstiga kohtspikri. See on loomulikult t\u00e4iesti vabatahtlik.<\/p>\n<p>Kui kasutate teist t\u00fc\u00fcpi v\u00e4lja, nt SVG-failide failivalijat, peate v\u00e4ljundit vastavalt kohandama.<\/p>\n<p>Ja see ongi k\u00f5ik! N\u00fc\u00fcd peaksite saama Fontawesome&#8217;i ikooni k\u00f5ikjal, kus men\u00fc\u00fc renderdatakse. Kuid t\u00f5en\u00e4oliselt peate sellele veidi stiili lisama. N\u00e4iteks t\u00fchiku lisamine ikooni ja teksti vahele.<\/p>\n<h3>Klasside lisamine lihtsamaks stiiliks<\/h3>\n<p>Saate lisada <code>&lt;i&gt;<\/code>m\u00e4rgendile kohandatud klasse v\u00f5i lisada vajadusel veel HTML-i.<\/p>\n<p>Kui teil on vaja \u00fcmbrismen\u00fc\u00fc\u00fcksusele (<code>li<\/code>elemendile) klass lisada, on teil t\u00e4ielik juurdep\u00e4\u00e4s men\u00fc\u00fc\u00fcksuste klassidele, mida rakendatakse \u00fclaltoodud filtris. Lisage kohandatud men\u00fc\u00fc\u00fcksuste klass ikoonimen\u00fc\u00fc \u00fcksuste jaoks, n\u00e4iteks:<\/p>\n<pre><code>        ...\n        if ($icon) {\n            $item-&gt;title = '&lt;i class=\"'. $icon. '\"&gt;&lt;\/i&gt;'. $item-&gt;title;\n            $item-&gt;classes[] = 'menu-with-icon';\n        }\n        ...<\/code><\/pre>\n<p>Men\u00fc\u00fc tuleks v\u00e4ljastada j\u00e4rgmiselt:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-153055-61e507050aa94.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-153055-61e507050aa94.png\" alt=\"Kuidas lisada t\u00e4psemate kohandatud v\u00e4ljadega men\u00fc\u00fc\u00fcksustele suurep\u00e4raseid ikoone\" ><\/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>Kuidas lisada men\u00fc\u00fc\u00fcksustele Fontawesome&#8217;i ikoone. Klasside m\u00e4\u00e4ratlemiseks kasutame t\u00e4psemaid kohandatud v\u00e4lju. SVG-ikoonide v\u00f5i muu sarnase koodi kohandamine on lihtne.<\/p>\n","protected":false},"author":1,"featured_media":224889,"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,842,863,863],"tags":[1165],"class_list":{"0":"post-233520","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","18":"category-wordpress-4","20":"tag-affiai-et"},"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233520","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=233520"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/233520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/224889"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=233520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=233520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=233520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}