
🔐 Kirjautumis- ja uloskirjautumispainike WordPress-valikossa: vaiheittainen opas 2026
Normaali WordPress ei pysty näyttämään "Kirjaudu"-painiketta kirjautumattomille kävijöille ja "Kirjaudu ulos" -painiketta kirjautuneille käyttäjille samassa valikkopaikassa. Ensi silmäyksellä tämä vaikuttaa vähäpätöiseltä. Mutta sivustolle, jossa on jäsenhallinta, jäsenalue tai foorumi, tämä on perustarve, ja ilman sitä navigointi muuttuu arvailuksi.
Aiemmin BAW Login/Logout Menu -lisäosa hoiti tämän tehtävän. Tekijä lopetti projektin vuonna 2025, jättäen tuhannet sivustot ilman päivityksiä. Sen suora seuraaja on ottanut paikan: Login or Logout Menu Item, jolla on yli 20 000 aktiivista asennusta ja 4,8 arvosana WordPress.orgissa.
Olemme koonneet kaiken yhdeksi oppaaksi: lisäosan asentamisesta kahdessa minuutissa mukautettuihin rooliperusteisiin uudelleenohjauksiin ja ylläpitopalkin poistamiseen tavallisilta käyttäjiltä.
💡 Pikaopas:
- Asenna Login or Logout Menu Item -lisäosa ja määritä kolme uudelleenohjauskenttää
- Lisää "Kirjaudu|Kirjaudu ulos" -valikkokohta perinteisellä tai lohkomuokkaimella
- Määritä hienosäädetty logiikka functions.php-koodinpätkillä: rooliperusteiset uudelleenohjaukset, uloskirjautuminen ilman vahvistusta, wp-login.php:n korvaaminen
- Piilota ylläpitopalkki tavallisilta käyttäjiltä ja estä heidän pääsynsä wp-adminiin
Tapa 1: Login or Logout Menu Item -lisäosa, nopea ja kooditon

Yksinkertaisin tapa lisätä dynaaminen kirjautumis- ja uloskirjautumispainike on Login or Logout Menu Item -lisäosa. Se on BAW Login/Logout Menun suora seuraaja, jonka on kirjoittanut alusta alkaen yksi alkuperäisen projektin avustajista. Kesäkuussa 2026 lisäosalla on yli 20 000 aktiivista asennusta, 23 arvostelua ja 4,8 tähden arvosana. Versio 1.3.2 on testattu WordPress 7.0:aan asti.
Miksi tämä lisäosa koodiratkaisun sijaan? Lisäosa ei koske functions.php-tiedostoon eikä hajoa, kun vaihdat teemaa. Se tukee lohkomuokkainta, ja "Kirjaudu|Kirjaudu ulos" -kohdan voi lisätä Navigaatio-lohkoon tavallisen haun kautta. Siinä on myös oma asetussivu: ei taianomaisia URL-osoitteita valikkokentissä, kaikki on läpinäkyvää.
Asennus ja määritys
Asenna lisäosa tavalliseen tapaan: Lisäosat → Lisää uusi, kirjoita Login or Logout Menu Item, napsauta Asenna ja Ota käyttöön. Aktivoinnin jälkeen ylläpitovalikkoon ilmestyy uusi kohta: Asetukset → Login or Logout. Siellä on kolme kenttää, ja tässä on mitä ne tarkoittavat:
- Login Page URL: kirjautumissivun osoite. Useimmille sivustoille
/wp-login.phpriittää. Jos käytät mukautettua kirjautumissivua (esimerkiksi/login/MemberPressin tai WooCommercen kautta), syötä se tähän. - Login Redirect URL: minne käyttäjä päätyy kirjautumisen jälkeen. Yleensä
/account/tai yksinkertaisesti/etusivulle. Huomaa, että jäsenyyslisäosat, kuten MemberPress tai Restrict Content Pro, voivat ohittaa tämän uudelleenohjauksen omilla asetuksillaan. - Logout Redirect URL: minne käyttäjä lähetetään uloskirjautumisen jälkeen.
/tai/wp-login.phpon järkevää.
Valikkokohdan lisääminen
Siirry kohtaan Ulkoasu → Valikot. Napsauta oikeassa yläkulmassa Näyttöasetukset ja varmista, että Login/Logout-valintaruutu on käytössä. Vasempaan sarakkeeseen ilmestyy "Login/Logout"-lohko; valitse Login|Logout ja napsauta Lisää valikkoon.
Valikkokohta ilmestyy luetteloon. Sen URL-osoitteen tulee pysyä #lolmiloginout#, koska tämä on lisäosan laukaisin; älä muuta sitä. Voit muokata navigaation nimikettä: esimerkiksi "Kirjaudu | Kirjaudu ulos" tai "Oma tili". Tallenna valikko.
Jos työskentelet lohkomuokkaimella (Ulkoasu → Muokkain, Navigaatio-lohko): napsauta "+" lisätäksesi linkin, kirjoita hakuun "login" tai "logout" ja valitse "Login|Logout" ehdotuksista. Linkki lisätään automaattisesti oikealla URL-osoitteella. Voit myös syöttää sen manuaalisesti: #lolmiloginout#.
Mitä tehdä, jos valikko ei vaihdu
Yleisin syy on välimuistitus. Poista välimuistitus käytöstä kirjautuneilta käyttäjiltä välimuistilisäosan asetuksissa: WP Rocket, Cloudflare APO, LiteSpeed. Toinen syy on toinen lisäosa, joka kaappaa uudelleenohjauksen. Tarkista jäsenyys- tai tietoturvalisäosiesi asetukset: monilla niistä on omat kirjautumisen jälkeiset uudelleenohjaussäännöt, jotka menevät etusijalle.
Tapa 2: kirjautuminen ja uloskirjautuminen koodilla functions.php:ssä
Lisäosa kattaa useimmat tyypilliset skenaariot. Mutta joskus tarvitset tarkempaa logiikkaa: eri uudelleenohjauksia eri rooleille, pakotettu uloskirjautuminen ilman vahvistusta, ylläpitopalkin piilottaminen. Tässä kohtaa functions.php tulee mukaan.
Lisää kaikki alla oleva koodi Code Snippets -lisäosan kautta; tämä on turvallisempaa kuin functions.php-tiedoston suora muokkaaminen. Syntaksivirhe ei kaada sivustoa; se yksinkertaisesti poistaa koodinpätkän käytöstä.
Kirjautuminen rooliperusteisella uudelleenohjauksella
Tämä koodi ohjaa ylläpitäjät hallintapaneeliin ja kaikki muut jäsentilisivulle. Lisää se Code Snippetsiin tai lapsiteemasi functions.php-tiedostoon.
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 );
Miten se toimii: login_redirect-suodatin laukeaa kirjautumishetkellä. Funktio tarkistaa roolin has_cap('administrator')-funktiolla ja palauttaa sopivan URL-osoitteen. Prioriteetti 10 on vakio, ja 3 rajoittaa hyväksyttyjen argumenttien määrää. Jos tilisivusi polku poikkeaa /account-polusta, korvaa se home_url('/account')-rivillä.
Uloskirjautuminen ilman vahvistusta
Oletuksena WordPress näyttää vahvistussivun, kun napsautat uloskirjautumislinkkiä: "Haluatko varmasti kirjautua ulos?" Mobiililaitteilla tämä on erityisen ärsyttävää. Tässä on koodi, joka poistaa vahvistuksen:
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 }
Ennen tämän lisäämistä, tee täysi sivuston varmuuskopio. Funktio kaappaa nonce-tarkistuksen uloskirjautumisen aikana ja suorittaa uudelleenohjauksen välittömästi ohittaen vahvistussivun. Asennuksen jälkeen testaa se: avaa your-domain/wp-login.php?action=logout incognito-tilassa; sinut tulisi ohjata etusivulle ilman välisivua.
Jotkin tietoturvalisäosat (Wordfence, Solid Security) ohittavat uloskirjautumiskäyttäytymisen. Jos vahvistus edelleen ilmestyy, poista niiden "vahvista uloskirjautuminen" -asetus käytöstä tai lisää URL-osoite /wp-login.php?action=logout sallittujen listalle.
Skenaario: mukautettu kirjautumissivu wp-login.php:n sijaan
Jos olet korvannut tavallisen kirjautumissivun mukautetulla (esimerkiksi MemberPressin tai WooCommercen kautta), sinun on ohjattava suora pääsy wp-login.php-tiedostoon:
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 }
Korvaa /login kirjautumissivusi polulla. Tämä on hyödyllistä, kun käytät jäsenhallintalisäosaa etkä halua paljastaa tavallista WordPress-lomaketta.
Kuinka piilottaa ylläpitopalkki kaikilta paitsi ylläpitäjiltä
WordPressin ylläpitopalkki sivuston yläreunassa on hyödyllinen vain niille, jotka hallinnoivat sivustoa. Tavalliset käyttäjät eivät tarvitse sitä, ja se sotkee käyttöliittymää, varsinkin jos rakennat jäsenhallintaa puhtaalla designilla.
Ylläpitopalkin poistaminen käytöstä koodilla
Lisää tämä Code Snippetsiin tai lapsiteemasi functions.php-tiedostoon:
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 }
Funktio current_user_can('administrator') tarkistaa roolin, ja ! is_admin() varmistaa, että palkki pysyy näkyvissä itse hallinta-alueella, missä jokainen, jolla on pääsy, tarvitsee sitä.
Pääsyn estäminen wp-adminiin
Palkin piilottaminen ei riitä. Sinun on myös estettävä pääsy /wp-admin/-osoitteeseen niiltä, jotka eivät sitä tarvitse:
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-ehto on kriittinen: ilman sitä estät AJAX-pyynnöt jäsenhallintalisäosista, joita käyttäjien on suoritettava profiilistaan. Korvaa /restrict_user-sivu millä tahansa paikkamerkkisivulla, esimerkiksi etusivulla tai sivulla, jossa on "Pääsy estetty" -viesti.
⁉️🤔 Usein kysytyt kysymykset
Login or Logout Menu Item -lisäosa ei toimi PHP 8.0:n kanssa, mitä minun pitäisi tehdä?
WordPress.orgissa on yksi kielteinen arvostelu yhteensopimattomuudesta PHP 8.0:n kanssa tammikuulta 2026. Lisäosa on kuitenkin testattu WP 7.0:aan asti, ja yli 20 000 aktiivista asennusta vahvistavat vakaan toiminnan moderneilla PHP-versioilla. Jos kohtaat virheen: tarkista lisäosan versio (sen tulisi olla 1.3.2), poista muut uudelleenohjauslisäosat käytöstä, tyhjennä välimuisti. Testisivustolla PHP 8.2:lla ei havaittu ongelmia.
Voinko tehdä tämän ilman lisäosaa, pelkällä koodilla?
Kyllä. Tämän artikkelin tapa 2 kattaa täysin kirjautumisen, uloskirjautumisen ja uudelleenohjaukset
functions.php-tiedoston kautta. Lisäosa on kätevämpi: asetukset hallintapaneelista ilman tiedostojen muokkaamista, lohkomuokkaintuki, automaattiset päivitykset. Jos sivusto on yksinkertainen ja tarvitset vain kirjautumis- ja uloskirjautumispainikkeen, käytä lisäosaa. Jos logiikka on monimutkainen (eri uudelleenohjaukset roolin mukaan, useita kirjautumissivuja), käytä koodia.
Mit minun pitäisi tehdä, jos valikkokohta ei näy lohkomuokkaimessa?
Napsauta Navigaatio-lohkossa "+" ja kirjoita hakuun "login" (ei "lolmiloginout"). Jos kohta ei ilmesty, varmista, että lisäosa on aktiivinen ja WordPress-versiosi on 6.0 tai uudempi. Vanhemmille teemoille ilman lohkomuokkainta käytä perinteistä käyttöliittymää kohdassa Ulkoasu → Valikot.
Kuinka määritän uudelleenohjaukset eri rooleille lisäosan kautta?
Login or Logout Menu Item ei erottele rooleja; se suorittaa yhden uudelleenohjauksen kaikille käyttäjille. Rooliperusteisiin uudelleenohjauksiin käytä tavan 2 koodia:
sd_redirect_by_role-funktio toimii, vaikka valikkokohta olisi lisätty lisäosan kautta.login_redirect-suodatin suoritetaan lisäosan uudelleenohjauksen jälkeen ja ohittaa sen.
Miksi uloskirjautumisen vahvistussivu ilmestyy edelleen?
Jotkin tietoturvalisäosat (Wordfence, Solid Security) ohittavat uloskirjautumiskäyttäytymisen omalla tasollaan. Poista niiden uloskirjautumisen vahvistusasetus käytöstä tai lisää uloskirjautumisen URL-osoite sallittujen listalle. Tavan 2 koodi suoritetaan ennen useimpia lisäosia, mutta ei kaikkia; harvinaisissa tapauksissa sinun on ehkä määritettävä itse tietoturvalisäosa.
Miten WP-Recall eroaa Login or Logout Menu Itemista?
WP-Recall on täysiverinen jäsenhallintalisäosa: profiilit, yksityisviestit, ryhmät, kaupankäyntimoduulit. Kirjautuminen ja uloskirjautuminen ovat sisäänrakennettu osa ekosysteemiä. Login or Logout Menu Item ratkaisee täsmälleen yhden tehtävän: dynaamisen kirjautumis-/uloskirjautumispainikkeen valikossa. Jos tarvitset täydellisen jäsenhallinnan monilla ominaisuuksilla, tutustu WP-Recalliin tai MemberPressiin. Jos tarvitset vain painikkeen valikkoon, Login or Logout Menu Item on kevyempi eikä tuo mukanaan ylimääräistä taakkaa.
Mitä käyttää sivustollasi: lisäosa vai koodi
Nopea ratkaisu tyypilliselle sivustolle on Login or Logout Menu Item -lisäosa. Asenna se, täytä kolme kenttää Asetuksissa, lisää valikkokohta. Kaikki toimii viidessä minuutissa. Kaksikymmentä tuhatta aktiivista asennusta ja yhteensopivuus WP 7.0:n kanssa vahvistavat, että työkalu on kypsä ja ylläpidetty.
Jos kirjautumislogiikkasi on epätriviaali (eri uudelleenohjauksia eri rooleille, integraatio jäsenyyslisäosan kanssa, mukautettu kirjautumissivu), käytä tavan 2 koodia. Se on joustavampi mutta vaatii varovaisuutta. Kirjoita koodi Code Snippetsin kautta, älä suoraan teematiedostoon. Yksi kirjoitusvirhe functions.php-tiedostossa ja sivusto kaatuu.
Lisäosan yhdistelmä valikkoa varten ja koodi uudelleenohjauksia varten on kompromissi, jota käytämme useimmissa projekteissa. Lisäosa tarjoaa kätevän valikkokohtien hallinnan ja lohkomuokkaintuen. Mukautettu koodi hoitaa tietyt rooli- ja uudelleenohjausvaatimukset monimutkaistamatta lisäosan asetuksia.
Valitse tehtäväsi perusteella, älä jonkun toisen tarkistuslistan mukaan. Yksinkertaiselle sivustolle, jossa on jäsenalue, lisäosa riittää. Markkinapaikalle tai koulutusalustalle koodi on välttämätön. Joka tapauksessa, pidä varmuuskopio ennen muutosten tekemistä ja testaa staging-kopiolla.



