
🔗 Kuidas lisada WordPressi menüüsse kodulehe link
Navigeerimismenüü ilma kodulehe lingita on nagu välisuks ilma lingita. Külastaja satub otsingu kaudu sisulehele, loeb sisu läbi... ja tal pole aimugi, kuhu klõpsata, et kodulehele jõuda. Päises olev logo ei aita alati; mõned kasutajad otsivad instinktiivselt menüüst just „Kodu" kirjet.
Enne versiooni 3.0 polnud WordPressil standardses menüüredaktoris sellist võimalust, seega tuli kas koodi muuta või lisada kohandatud link käsitsi. Nüüd on kõik lihtsam: paar klõpsu ja kodulehe link on paigas. Ja kui oled arendaja või teemat kohandamas, on olemas wp_nav_menu_items filter, mis lahendab ülesande ühe funktsiooniga.
Allpool leiad mõlemad meetodid: visuaalse tavakasutajale ja programmeeritava neile, kes koodiga töötavad. Lisaks käsitleme, millal link vajab uuendamist ja mida teha, kui see ootamatult kaob.
💡 Kiirülevaade:
- Lisa WordPressi menüüsse kodulehe link halduspaneeli kaudu vähem kui minutiga, ilma pluginateita.
- Lisa link programmeeritavalt, kasutades wp_nav_menu_items filtrit teema failis functions.php.
- Kontrolli ja uuenda URL-i pärast domeeni vahetamist või HTTPS-ile üleminekut.
1. Meetod: WordPressi halduspaneeli kaudu
See meetod töötab WordPress 3.0 ja uuematega, seega igal kaasaegsel saidil. Pluginaid ega koodimuudatusi pole vaja.
Logi halduspaneelile sisse ja liigu jaotisse Välimus → Menüüd. Vasakul näed plokke: „Lehed", „Postitused", „Kohandatud lingid" ja teisi, sõltuvalt paigaldatud pluginate ja sisutüüpide olemasolust.
Lehed plokis klõpsa vahekaarti Kõik (või vanemates versioonides „Kuva kõik"). Kõige esimene kirje on leht nimega „Kodu". Märgi selle kastike ja klõpsa Lisa menüüsse.

Kui kirje on lisatud, ilmub see paremal menüüstruktuuri. Lohista see soovitud asukohta; tavaliselt paigutatakse see esimeseks või viimaseks. Salvesta menüü, klõpsates Salvesta menüü, ja kodulehe link läheb saidil reaalajas üles.
Vaikimisi kasutab WordPress selle kirje jaoks kodulehe otsest URL-i (näiteks https://vash-sait.ru/). Seda on oluline meeles pidada: kui hiljem saidi teisele domeenile kolida või HTTP-lt HTTPS-ile üle minna, säilitab link vana aadressi. Pead avama menüüredaktori ja URL-i käsitsi parandama või kirje kustutama ja uuesti lisama (WordPress lisab siis jooksva aadressi automaatselt).
2. Meetod: programmeeritav lisamine filtri kaudu
Kui arendad kohandatud teemat või soovid, et kodulehe link lisataks automaatselt teema aktiveerimisel, kasuta wp_nav_menu_items filtrit. See püüab menüüelementide HTML-i enne väljastamist kinni ja võimaldab sul lisada oma elemendi.
Paiguta kood aktiivse teema (või alamteema, et mitte kaotada muudatusi uuendamisel) faili functions.php. Alternatiiviks on Code Snippets plugin: lood lõigu, kleebid koodi ja aktiveerid selle; muudatused on siis teemast sõltumatud.

1 /** 2 * Adds a "Home" link to the main WordPress menu. 3 * 4 * @param string $items HTML markup of menu items. 5 * @param object $args wp_nav_menu() arguments. 6 * @return string 7 */ 8 function sdstudio_add_menu_home_link( $items, $args ) { 9 // Target menu location — replace 'main' with your own value 10 if ( 'main' !== $args->theme_location ) { 11 return $items; 12 } 13 14 $home_link = sprintf( 15 '<li class="menu-item"><a href="%s">%s</a></li>', 16 esc_url( home_url( '/' ) ), 17 esc_html__( 'Home', 'textdomain' ) 18 ); 19 20 // The link is added first — put $items . $home_link if you need it last 21 $items = $home_link . $items; 22 23 return $items; 24 } 25 add_filter( 'wp_nav_menu_items', 'sdstudio_add_menu_home_link', 10, 2 );
Võtmeparameeter on 'main' tingimuses if. See on teema poolt funktsiooniga register_nav_menu() registreeritud menüüala (teema asukoha) nimetus. Oma nimetuse leiad teema failist functions.php: otsi üles register_nav_menu() või register_nav_menus() väljakutse ja kontrolli esimest argumenti. Enamasti on see primary või main.
Funktsioon on turvaline: esc_url() puhastab URL-i ja esc_html__() puhastab lingi teksti, toetades samas tõlkimist. Kui kasutad alamteemat, asenda 'textdomain' oma teema tekstidomeeniga.
Pärast koodi lisamist värskenda saiti ja kodulehe link ilmub menüüsse automaatselt. Seda pole vaja käsitsi eemaldada: lihtsalt kommenteeri välja või kustuta add_filter() väljakutse ja kõik taastub algsesse olekusse.
Olukorrad, mil link vajab uuendamist
Halduspaneeli kaudu lisatud kodulehe link salvestab püsivalt kodeeritud URL-i, selle, mis oli saidi seadetes lisamise hetkel. Kolm levinud stsenaariumi, mil see katki läheb:
HTTP-lt HTTPS-ile üleminek. Menüüelement jätkab viitamist aadressile
http://..., brauserid võivad kuvada segasisu hoiatuse või ümbersuunamine võib ebaõnnestuda. Lahendus: ava menüüredaktor, kustuta vana „Kodu" kirje ja lisa see uuesti; WordPress lisab jooksvahttps://URL-i.Domeeni vahetamine. Saidi kolimisel arenduskeskkonnast tootmiskeskkonda (
staging.site.ru→site.ru) või migreerimisel täiesti uuele domeenile. Menüüelement säilitab vana URL-i. Lahendus: sama mis ülal (kustuta ja lisa uuesti).Alamkataloogist juurkataloogi kolimine. Kui sait kolib aadressilt
site.ru/blog/aadressilesite.ru/, lähevad kõik püsivalt kodeeritud lingid katki. Pärast migreerimist käi läbi KÕIK menüüelemendid, mitte ainult kodulehe link.
Programmeeritaval meetodil (via wp_nav_menu_items) neid probleeme pole: home_url('/') tagastab alati jooksva kodulehe aadressi WordPressi seadetest.
Muide, kui töötad menüüdega sageli, vaata navigeerimisseadeid jaotises Välimus → Kohanda, kus saad menüüsid reaalajas hallata koos eelvaatega. Täpsemaks muutmiseks (ikoonide lisamine elementidele, mega-menüüd) on olemas spetsiaalsed tööriistad, kuid see on juba teise artikli teema.
Video: kodunupu lisamine 2 minutiga
Kui eelistad lugemisele vaatamist, siis siin on lühike ingliskeelne video samm-sammulise ekraanidemonstratsiooniga:
⁉️🤔 Korduma kippuvad küsimused
Kas ma saan lisada kodulehe lingi ilma pluginate ja koodita?
Jah, standardse WordPressi menüüredaktori kaudu: Välimus → Menüüd → Lehed plokk → märgi „Kodu" → Lisa menüüsse. See on põhifunktsionaalsus, saadaval alates versioonist 3.0.
Miks kadus kodulehe link menüüst pärast teema vahetamist?
Menüüd on WordPressis seotud teema poolt registreeritud menüüaladega (teema asukohad). Teemat vahetades kaovad vanad alad ja uutel võivad olla teistsugused nimed. Sinu menüü pole kuhugi kadunud; see lihtsalt muutus „määramata". Mine jaotisse Välimus → Menüüd → Halda asukohti vahekaart ja määra olemasolev menüü uue teema alale. Kõik elemendid, sealhulgas kodulehe link, taastuvad.
Menüüs on juba „Kodu" element, kuid see viib mingile konkreetsele lehele, mitte saidi juure. Kuidas seda parandada?
Tõenäoliselt lisati menüüsse konkreetne leht pealkirjaga „Kodu", mitte spetsiaalne „Esilehe" tüüp. Eemalda see element menüüst, seejärel leia Lehed plokist kirje nimega „Esileht" (WordPress märgib selle selgelt) ja lisa see. Kui sellist silti pole, kasuta „Kohandatud lingid": URL-i väljale sisesta
/ja „Lingi teksti" väljale kirjuta „Kodu".
Kuidas lisada kodulehe link menüüs viimaseks, mitte esimeseks?
Programmeeritava meetodi puhul vaheta ühendamise järjekord:
$home_link . $itemsasemel kirjuta$items . $home_link. Visuaalses redaktoris lohista lihtsalt „Kodu" element nimekirja lõppu ja salvesta menüü.
Kas koodis on vajalik kasutada esc_url() ja home_url()?
Jah, see on WordPressi parim tava.
home_url('/')lisab dünaamiliselt jooksva saidi aadressi seadetest, nii et domeeni vahetamisel pole vaja koodi muuta.esc_url()puhastab erimärgid ja kaitseb XSS-rünnete eest. Puhastamise vahelejätmine tootmiskoodis on riskantne.
Kas koodimeetod töötab WordPressi mitmikpaigaldises?
Jah,
home_url( '/' )tagastab mitmikpaigaldises konkreetse võrgustikus oleva saidi URL-i (selle, mis on määratud selle alamsaidi seadetes). Igal võrgustiku saidil on oma kodulehe link. Kui vajad eri saitidele erinevat käitumist, ümbritseadd_filter()väljakutse tingimusega, mis kontrollib ajaveebi ID-dget_current_blog_id()kaudu.
Mida teha, kui kodulehe link ei ilmu?
Esiteks kontrolli ilmselget: kas sa tõesti salvestasid menüü pärast elemendi lisamist? Nupp „Salvesta menüü" on lehe allosas; ilma sellele klõpsamata muudatusi ei rakendata. Kui menüü on salvestatud, kuid element puudub, ava sait inkognito režiimis (brauseri vahemälu peidab mõnikord hiljutised muudatused).
Teine tõenäoline põhjus on vahemällu salvestamise plugin (WP Rocket, W3 Total Cache, LiteSpeed Cache). Tühjenda vahemälu plugina halduspaneeli kaudu ja kontrolli saiti uuesti.
Kui see ei aita, lülita ajutiselt teema mõnele vaiketeemale (Twenty Twenty-Five või Twenty Twenty-Six). Kas element ilmus? Siis on probleem kohandatud teemas; selle wp_nav_menu() funktsioon võib olla üle kirjutatud ja filtrid eemaldatud. Kontrolli wp_nav_menu() väljakutset teema mallis: 'items_wrap' argument ei tohiks olla tühi string ja 'fallback_cb' peaks olema false ainult siis, kui keelad varuvariandi tahtlikult.
„2. meetodi" kood töötab iga teemaga, kui teema_asukoht on õige; see toimib kindlustusena juhuks, kui visuaalne meetod mingil põhjusel ebaõnnestub.
Kodulehe link menüüs on väike detail, mis loob usaldust. Külastaja, kes satub otsingu kaudu sisulehele, leiab sekundi murdosa jooksul tee tagasi algusesse ja jätkab avastamist. Ilma selleta sulgeb osa teie vaatajaskonnast lihtsalt vahekaardi. Kaks minutit menüüredaktoris või kümme rida koodi ja see sisenemispunkt ei lähe enam kunagi kaotsi.



