
🔐 Sisselogimise ja väljalogimise nupp WordPressi menüüs: samm-sammuline juhend 2026
Standard WordPress ei suuda kuvada samas menüükohas nuppu „Logi sisse" külastajatele ja „Logi välja" sisselogitud kasutajatele. Esmapilgul tundub see tühine. Kuid liikmete töölaua, liikmete ala või foorumiga saidi jaoks on see põhivajadus ja ilma selleta muutub navigeerimine oletamismänguks.
Varem täitis seda ülesannet BAW Login/Logout Menu plugin. Autor lõpetas projekti 2025. aastal, jättes tuhanded saidid uuendusteta. Selle otsene järglane on üle võtnud: Login or Logout Menu Item, millel on 20 000+ aktiivset paigaldust ja 4,8 hinnang WordPress.org-is.
Oleme koondanud kõik ühte juhendisse: alates plugin paigaldamisest kahe minutiga kuni kohandatud rollipõhiste ümbersuunamiste ja tavakasutajate admin-riba keelamiseni.
💡 Kiirülevaade:
- Paigalda Login or Logout Menu Item plugin ja seadista kolm ümbersuunamisvälja
- Lisa „Login|Logout" menüüelement klassikalise või plokiredaktori kaudu
- Seadista peenhäälestatud loogika functions.php juppide kaudu: rollipõhised ümbersuunamised, väljalogimine ilma kinnituseta, wp-login.php asendamine
- Peida admin-riba tavakasutajate eest ja blokeeri nende juurdepääs wp-admin-ile
Meetod 1: Login or Logout Menu Item plugin, kiire ja koodivaba

Lihtsaim viis dünaamilise sisse- ja väljalogimisnupu lisamiseks on Login or Logout Menu Item plugin. See on BAW Login/Logout Menu otsene järglane, mille kirjutas nullist üks algse projekti kaasautoritest. 2026. aasta juuni seisuga on pluginil 20 000+ aktiivset paigaldust, 23 arvustust ja 4,8-tärni hinnang. Versioon 1.3.2 on testitud kuni WordPress 7.0-ga.
Miks see plugin, mitte koodilahendus? Plugin ei puuduta functions.php-d ega lähe katki, kui teemat vahetad. See toetab plokiredaktorit ja „Login|Logout" elemendi saab lisada navigatsiooniplokki tavalise otsingu kaudu. Sellel on ka spetsiaalne seadete leht: ei mingeid maagilisi URL-e menüüväljadel, kõik on läbipaistev.
Paigaldamine ja seadistamine
Paigalda plugin tavalisel viisil: Plugins → Add New, trüki Login or Logout Menu Item, klõpsa Install ja Activate. Pärast aktiveerimist ilmub admin-menüüsse uus element: Settings → Login or Logout. Seal on kolm välja ja siin on, mida need tähendavad:
- Login Page URL: sisselogimislehe aadress. Enamiku saitide jaoks piisab
/wp-login.php. Kui kasutad kohandatud sisselogimislehte (näiteks/login/MemberPress või WooCommerce kaudu), sisesta see siia. - Login Redirect URL: kuhu kasutaja pärast sisselogimist maandub. Tavaliselt
/account/või lihtsalt/avalehe jaoks. Pane tähele, et liikmelisuse pluginad nagu MemberPress või Restrict Content Pro võivad selle ümbersuunamise oma seadetega üle kirjutada. - Logout Redirect URL: kuhu kasutaja pärast väljalogimist saata.
/või/wp-login.phpseadmine on mõistlik.
Menüüelemendi lisamine
Mine Appearance → Menus. Klõpsa paremas ülanurgas Screen Options ja veendu, et Login/Logout märkeruut on lubatud. Vasakusse veergu ilmub „Login/Logout" plokk; märgi Login|Logout ja klõpsa Add to Menu.
Menüüelement ilmub nimekirja. Selle URL peaks jääma #lolmiloginout#, sest see on plugin käivitaja; ära seda muuda. Saad muuta navigatsiooni silti: näiteks „Login | Logout" või „Minu konto". Salvesta menüü.
Kui töötad plokiredaktoriga (Appearance → Editor, Navigation plokk): klõpsa lingi lisamiseks „+", trüki otsingusse „login" või „logout" ja vali soovituste hulgast „Login|Logout". Link lisatakse automaatselt õige URL-iga. Saad selle sisestada ka käsitsi: #lolmiloginout#.
Mida teha, kui menüü ei vahetu
Kõige levinum põhjus on vahemällu salvestamine. Keela vahemälu sisselogitud kasutajatele oma vahemälu plugin seadetes: WP Rocket, Cloudflare APO, LiteSpeed. Teine põhjus on mõni teine plugin, mis ümbersuunamise kinni püüab. Kontrolli oma liikmelisuse või turvaplugin seadeid: paljudel neist on oma sisselogimisjärgsed ümbersuunamisreeglid, mis on prioriteetsed.
Meetod 2: sisse- ja väljalogimine koodi kaudu failis functions.php
Plugin katab enamiku tüüpilisi stsenaariume. Kuid mõnikord on vaja detailsemat loogikat: erinevad ümbersuunamised erinevatele rollidele, sunnitud väljalogimine ilma kinnituseta, admin-riba peitmine. Siin tuleb mängu functions.php.
Lisa kogu allolev kood Code Snippets plugin kaudu; see on turvalisem kui functions.php otse redigeerimine. Süntaksiviga ei pane saiti kokku jooksma; see lihtsalt keelab jupi.
Sisselogimine rollipõhise ümbersuunamisega
See kood suunab administraatorid admin-töölauale ja kõik teised liikmekonto lehele. Lisa see Code Snippets-ile või oma alamteema functions.php faili.
1 /** 2 * Redirect after login: admin → wp-admin, others → /account 3 */ 4 function sd_redirect_by_role( $url, $request, $user ) { 5 if ( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) { 6 if ( $user->has_cap( 'administrator' ) ) { 7 $url = admin_url(); 8 } else { 9 $url = home_url( '/account' ); 10 } 11 } 12 return $url; 13 } 14 add_filter( 'login_redirect', 'sd_redirect_by_role', 10, 3 );
Kuidas see töötab: login_redirect filter käivitub sisselogimise hetkel. Funktsioon kontrollib rolli has_cap('administrator') kaudu ja tagastab sobiva URL-i. Prioriteet 10 on standardne ja 3 piirab aktsepteeritavate argumentide arvu. Kui sinu konto lehe nimi erineb /account, asenda see real home_url('/account').
Väljalogimine ilma kinnituseta
Vaikimisi näitab WordPress väljalogimislingil klõpsates kinnituslehte: „Kas oled kindel, et soovid välja logida?" Mobiilseadmetes on see eriti tüütu. Siin on kood, mis eemaldab kinnituse:
1 /** 2 * Logout without confirmation, redirect to home 3 */ 4 add_action( 'check_admin_referer', 'sd_logout_without_confirm', 10, 2 ); 5 function sd_logout_without_confirm( $action, $result ) { 6 if ( $action === 'log-out' && ! isset( $_GET['_wpnonce'] ) ) { 7 $redirect_to = isset( $_REQUEST['redirect_to'] ) 8 ? $_REQUEST['redirect_to'] 9 : home_url( '/' ); 10 $location = str_replace( '&', '&', wp_logout_url( $redirect_to ) ); 11 header( "Location: $location" ); 12 die; 13 } 14 }
Enne selle lisamist tee täielik saidi varukoopia. Funktsioon püüab väljalogimise ajal nonce-kontrolli kinni ja teostab ümbersuunamise kohe, minnes kinnituslehest mööda. Pärast paigaldamist testi seda: ava your-domain/wp-login.php?action=logout inkognito režiimis; sind peaks suunama avalehele ilma vahepealse ekraanita.
Mõned turvapluginad (Wordfence, Solid Security) kirjutavad väljalogimise käitumise üle. Kui kinnitus ikka ilmub, keela nende „confirm logout" valik või lisa URL /wp-login.php?action=logout lubatud nimekirja.
Stsenaarium: kohandatud sisselogimisleht wp-login.php asemel
Kui oled standardse sisselogimislehe asendanud kohandatud lehega (näiteks MemberPressi või WooCommerce kaudu), pead otsese juurdepääsu wp-login.php-le ümber suunama:
1 /** 2 * Replace wp-login.php with custom login page 3 */ 4 add_action( 'init', 'sd_custom_login_page' ); 5 function sd_custom_login_page() { 6 global $pagenow; 7 if ( ! is_user_logged_in() && 'wp-login.php' === $pagenow ) { 8 wp_redirect( home_url( '/login' ) ); 9 exit; 10 } 11 }
Asenda /login oma sisselogimislehe nimega. See on kasulik, kui kasutad liikmete töölaua pluginat ega soovi standardset WordPressi vormi eksponeerida.
Kuidas peita admin-riba kõigi eest, välja arvatud administraatorid
WordPressi admin-riba saidi ülaosas on kasulik ainult neile, kes saiti haldavad. Tavakasutajad ei vaja seda ja see risustab liidest, eriti kui ehitatakse puhta disainiga liikmete töölauda.
Admin-riba keelamine koodi kaudu
Lisa see Code Snippets-ile või oma alamteema functions.php faili:
1 /** 2 * Hide admin bar for everyone except administrators 3 */ 4 add_action( 'after_setup_theme', 'sd_remove_admin_bar_for_non_admins' ); 5 function sd_remove_admin_bar_for_non_admins() { 6 if ( ! current_user_can( 'administrator' ) && ! is_admin() ) { 7 show_admin_bar( false ); 8 } 9 }
Funktsioon current_user_can('administrator') kontrollib rolli ja ! is_admin() tagab, et riba jääb nähtavaks admin-alas endas, kus igaüks, kellel on juurdepääs, seda vajab.
Juurdepääsu blokeerimine wp-admin-ile
Riba peitmisest ei piisa. Samuti pead blokeerima juurdepääsu /wp-admin/ neile, kes seda ei vaja:
1 /** 2 * Block access to wp-admin for non-administrators 3 */ 4 add_action( 'admin_init', 'sd_block_wp_admin_for_non_admins' ); 5 function sd_block_wp_admin_for_non_admins() { 6 if ( ! current_user_can( 'administrator' ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) { 7 wp_redirect( home_url( '/restrict_user' ) ); 8 exit; 9 } 10 }
DOING_AJAX tingimus on kriitiline: ilma selleta blokeerid AJAX-päringud liikmete töölaua pluginatelt, mida kasutajad peavad oma profiilist käivitama. Asenda /restrict_user leht mis tahes asenduslehega, näiteks avalehe või lehega, millel on „Juurdepääs keelatud" teade.
⁉️🤔 Korduma kippuvad küsimused
Login or Logout Menu Item plugin ei tööta PHP 8.0-ga, mida teha?
WordPress.org-is on üks negatiivne arvustus ühildumatuse kohta PHP 8.0-ga 2026. aasta jaanuarist. Kuid pluginat on testitud kuni WP 7.0-ga ja 20 000+ aktiivset paigaldust kinnitavad stabiilset tööd kaasaegsetel PHP versioonidel. Kui ilmneb viga: kontrolli plugin versiooni (peaks olema 1.3.2), keela teised ümbersuunamispluginad, tühjenda vahemälu. Testsaidil PHP 8.2-ga probleeme ei leitud.
Kas ma saan seda teha ilma pluginata, kasutades ainult koodi?
Jah. Selle artikli meetod 2 katab täielikult sisse- ja väljalogimise ning ümbersuunamised
functions.phpkaudu. Plugin on mugavam: seaded admin-paneelist ilma faile redigeerimata, plokiredaktori tugi, automaatsed uuendused. Kui sait on lihtne ja vajad ainult sisse- ja väljalogimisnuppu, kasuta pluginat. Kui loogika on keeruline (erinevad ümbersuunamised rollide kaupa, mitu sisselogimislehte), kasuta koodi.
Mida teha, kui menüüelement ei ilmu plokiredaktoris?
Navigatsiooniplokis klõpsa „+" ja trüki otsingusse „login" (mitte „lolmiloginout"). Kui elementi ei ilmu, veendu, et plugin on aktiivne ja sinu WordPressi versioon on 6.0 või kõrgem. Vanemate teemade puhul ilma plokiredaktorita kasuta klassikalist liidest Appearance → Menus.
Kuidas seadistada ümbersuunamisi erinevatele rollidele plugin kaudu?
Login or Logout Menu Item ei erista rolle; see teostab ühe ümbersuunamise kõigile kasutajatele. Rollipõhiste ümbersuunamiste jaoks kasuta meetodi 2 koodi: funktsioon
sd_redirect_by_roletöötab isegi siis, kui menüüelement lisati plugin kaudu.login_redirectfilter käivitub pärast plugin ümbersuunamist ja kirjutab selle üle.
Miks väljalogimise kinnitusleht ikka ilmub?
Mõned turvapluginad (Wordfence, Solid Security) kirjutavad väljalogimise käitumise oma tasemel üle. Keela nende väljalogimise kinnituse valik või lisa väljalogimise URL lubatud nimekirja. Meetodi 2 kood käivitub enne enamikku pluginaid, kuid mitte kõiki; harvadel juhtudel pead võib-olla seadistama turvapluginat ennast.
Kuidas WP-Recall erineb Login or Logout Menu Item-ist?
WP-Recall on täisfunktsionaalne liikmete töölaua plugin: profiilid, privaatsõnumid, grupid, kaubandusmoodulid. Sisse- ja väljalogimine on ökosüsteemi osana sisse ehitatud. Login or Logout Menu Item lahendab täpselt ühe ülesande: dünaamiline sisse-/väljalogimisnupp menüüs. Kui vajad täielikku liikmete töölauda paljude funktsioonidega, vaata WP-Recall või MemberPress. Kui vajad ainult nuppu menüüs, on Login or Logout Menu Item kergem ega too kaasa lisakoormat.
Mida oma saidil kasutada: pluginat või koodi
Kiire lahendus tüüpilise saidi jaoks on Login or Logout Menu Item plugin. Paigalda see, täida kolm välja seadetes, lisa menüüelement. Kõik töötab viie minutiga. Kakskümmend tuhat aktiivset paigaldust ja ühilduvus WP 7.0-ga kinnitavad, et tööriist on küps ja hooldatud.
Kui sinu sisselogimisloogika on mittetriviaalne (erinevad ümbersuunamised erinevatele rollidele, integreerimine liikmelisuse pluginaga, kohandatud sisselogimisleht), kasuta meetodi 2 koodi. See on paindlikum, kuid nõuab ettevaatust. Kirjuta koodi Code Snippets kaudu, mitte otse teemafaili. Üks kirjaviga functions.php-s ja sait läheb maas.
Plugin kombinatsioon menüü jaoks ja kood ümbersuunamiste jaoks on kompromiss, mida kasutame enamikus projektides. Plugin pakub mugavat menüüelemendi haldust ja plokiredaktori tuge. Kohandatud kood käsitleb konkreetseid rolli- ja ümbersuunamisnõudeid, muutmata plugin seadeid keeruliseks.
Vali oma ülesande, mitte kellegi teise kontrollnimekirja järgi. Lihtsa liikmete alaga saidi jaoks piisab pluginast. Turuplatsi või haridusplatvormi jaoks on kood hädavajalik. Mõlemal juhul tee enne muudatuste tegemist varukoopia ja testi lavastuskoopial.



