Skip to content

Alt om WordPress, webutvikling — og mer til

🔐 Innlogging og utlogging knapp i WordPress-meny: en trinnvis guide 2026

🔐 Innlogging og utlogging knapp i WordPress-meny: en trinnvis guide 2026

Standard WordPress kan ikke vise en «Logg inn»-knapp for utloggede besøkende og en «Logg ut»-knapp for innloggede brukere på samme menysted. Ved første øyekast virker dette ubetydelig. Men for et nettsted med et medlemsdashboard, medlemsområde eller forum er dette et grunnleggende behov, og uten det blir navigasjonen en gjetteleik.

Tidligere håndterte BAW Login/Logout Menu-pluginen denne oppgaven. Utvikleren avsluttet prosjektet i 2025, og etterlot tusenvis av nettsteder uten oppdateringer. Den direkte etterfølgeren har tatt over: Login or Logout Menu Item med over 20 000 aktive installasjoner og en vurdering på 4,8 på WordPress.org.

Vi har samlet alt i én guide: fra å installere pluginen på to minutter til tilpassede rollebaserte omdirigeringer og deaktivering av adminlinjen for vanlige brukere.

💡 Rask oversikt:

  • Installer Login or Logout Menu Item-pluginen og konfigurer tre omdirigeringsfelt
  • Legg til et «Logg inn|Logg ut»-menyelement via den klassiske eller blokkredigereren
  • Sett opp finjustert logikk via functions.php-snutter: rollebaserte omdirigeringer, utlogging uten bekreftelse, erstatning av wp-login.php
  • Skjul adminlinjen for vanlige brukere og blokker deres tilgang til wp-admin

Metode 1: Login or Logout Menu Item-pluginen, rask og kodefri

Innstillinger-siden for Login or Logout Menu Item-utvidelsen i WordPress-administrasjonen

Den enkleste måten å legge til en dynamisk inn- og utloggingsknapp på er Login or Logout Menu Item-pluginen. Den er den direkte etterfølgeren til BAW Login/Logout Menu, skrevet fra bunnen av en av bidragsyterne til det opprinnelige prosjektet. Per juni 2026 har pluginen over 20 000 aktive installasjoner, 23 anmeldelser og en vurdering på 4,8 stjerner. Versjon 1.3.2 er testet opp til WordPress 7.0.

Hvorfor denne pluginen i stedet for en kodeløsning? Pluginen rører ikke functions.php og vil ikke knekke når du bytter tema. Den støtter blokkredigereren, og «Logg inn|Logg ut»-elementet kan legges til i en navigasjonsblokk via vanlig søk. Den har også en dedikert innstillingsside: ingen magiske URL-er i menufelt, alt er gjennomsiktig.

Installasjon og konfigurasjon

Installer pluginen på standard måte: Utvidelser → Legg til ny, skriv Login or Logout Menu Item, klikk Installer og Aktiver. Etter aktivering vises et nytt element i adminmenyen: Innstillinger → Login or Logout. Det er tre felt, og her er hva de betyr:

  • Login Page URL: adressen til innloggingssiden. For de fleste nettsteder er /wp-login.php tilstrekkelig. Hvis du bruker en tilpasset innloggingsside (for eksempel /login/ via MemberPress eller WooCommerce), skriv den inn her.
  • Login Redirect URL: hvor brukeren havner etter innlogging. Vanligvis /account/ eller bare / for startsiden. Merk at medlemsplugins som MemberPress eller Restrict Content Pro kan overstyre denne omdirigeringen med sine egne innstillinger.
  • Logout Redirect URL: hvor du sender brukeren etter utlogging. Å sette / eller /wp-login.php gir mening.

Legge til menyelementet

Gå til Utseende → Menyer. I øvre høyre hjørne klikker du Skjerminnstillinger og bekrefter at avkrysningsboksen Login/Logout er aktivert. En «Login/Logout»-blokk vises i venstre kolonne; kryss av for Login|Logout og klikk Legg til i meny.

Menyelementet vises i listen. URL-en skal forbli #lolmiloginout# fordi dette er pluginens utløser; ikke endre den. Du kan redigere navigasjonsetiketten: for eksempel «Logg inn | Logg ut» eller «Min konto». Lagre menyen.

Hvis du jobber med blokkredigereren (Utseende → Rediger, Navigasjonsblokk): klikk «+» for å legge til en lenke, skriv «login» eller «logout» i søket, og velg «Login|Logout» fra forslagene. Lenken legges til automatisk med riktig URL. Du kan også skrive den inn manuelt: #lolmiloginout#.

Hva du gjør hvis menyen ikke bytter

Den vanligste årsaken er caching. Deaktiver cache for innloggede brukere i innstillingene for cache-pluginen din: WP Rocket, Cloudflare APO, LiteSpeed. Den andre årsaken er at en annen plugin fanger opp omdirigeringen. Sjekk innstillingene for medlems- eller sikkerhetspluginen din: mange av dem har egne regler for omdirigering etter innlogging som tar prioritet.

Metode 2: innlogging og utlogging via kode i functions.php

Pluginen dekker de fleste typiske scenarioer. Men noen ganger trenger du mer granulær logikk: forskjellige omdirigeringer for ulike roller, tvungen utlogging uten bekreftelse, skjuling av adminlinjen. Det er her functions.php kommer inn.

Legg til all koden nedenfor via Code Snippets-pluginen; dette er tryggere enn å redigere functions.php direkte. En syntaksfeil vil ikke krasje nettstedet; den vil ganske enkelt deaktivere snutten.

Innlogging med rollebasert omdirigering

Denne koden omdirigerer administratorer til admin-dashboardet og alle andre til en medlemskontoside. Legg den til i Code Snippets eller i barnetemaets functions.php.

1/**
2 * Redirect after login: admin → wp-admin, others → /account
3 */
4function 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}
14add_filter( 'login_redirect', 'sd_redirect_by_role', 10, 3 );

Slik fungerer det: login_redirect-filteret utløses i innloggingsøyeblikket. Funksjonen sjekker rollen via has_cap('administrator') og returnerer riktig URL. Prioritet 10 er standard, og 3 begrenser antall aksepterte argumenter. Hvis din kontosides slug avviker fra /account, erstatt den i home_url('/account')-linjen.

Utlogging uten bekreftelse

Som standard viser WordPress en bekreftelsesside når du klikker på en utloggingslenke: «Er du sikker på at du vil logge ut?» På mobile enheter er dette spesielt irriterende. Her er kode som fjerner bekreftelsen:

1/**
2 * Logout without confirmation, redirect to home
3 */
4add_action( 'check_admin_referer', 'sd_logout_without_confirm', 10, 2 );
5function 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}

Før du legger til denne, ta en full sikkerhetskopi av nettstedet. Funksjonen fanger opp nonce-sjekken under utlogging og utfører omdirigeringen umiddelbart, og omgår bekreftelsessiden. Etter installasjon, test den: åpne your-domain/wp-login.php?action=logout i inkognitomodus; du skal omdirigeres til startsiden uten et mellomskjermbilde.

Noen sikkerhetsplugins (Wordfence, Solid Security) overstyrer utloggingsatferd. Hvis bekreftelsen fortsatt vises, deaktiver deres «bekreft utlogging»-alternativ eller legg til URL-en /wp-login.php?action=logout i hvitelisten.

Scenario: tilpasset innloggingsside i stedet for wp-login.php

Hvis du har erstattet standard innloggingsside med en tilpasset en (for eksempel via MemberPress eller WooCommerce), må du omdirigere direkte tilgang til wp-login.php:

1/**
2 * Replace wp-login.php with custom login page
3 */
4add_action( 'init', 'sd_custom_login_page' );
5function 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}

Erstatt /login med din innloggingsside-slug. Dette er nyttig når du bruker en medlemsdashboard-plugin og ikke ønsker å eksponere standard WordPress-skjemaet.

Hvordan skjule adminlinjen for alle unntatt administratorer

WordPress-adminlinjen øverst på nettstedet er bare nyttig for de som administrerer nettstedet. Vanlige brukere trenger den ikke, og den rotter til grensesnittet, spesielt hvis du bygger et medlemsdashboard med et rent design.

Deaktivere adminlinjen via kode

Legg til dette i Code Snippets eller barnetemaets functions.php:

1/**
2 * Hide admin bar for everyone except administrators
3 */
4add_action( 'after_setup_theme', 'sd_remove_admin_bar_for_non_admins' );
5function sd_remove_admin_bar_for_non_admins() {
6 if ( ! current_user_can( 'administrator' ) && ! is_admin() ) {
7 show_admin_bar( false );
8 }
9}

Funksjonen current_user_can('administrator') sjekker rollen, og ! is_admin() sørger for at linjen forblir synlig i selve adminområdet, der alle med tilgang trenger den.

Blokkere tilgang til wp-admin

Å skjule linjen er ikke nok. Du må også blokkere tilgang til /wp-admin/ for de som ikke trenger det:

1/**
2 * Block access to wp-admin for non-administrators
3 */
4add_action( 'admin_init', 'sd_block_wp_admin_for_non_admins' );
5function 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-betingelsen er kritisk: uten den vil du blokkere AJAX-forespørsler fra medlemsdashboard-plugins som brukere trenger for å utføre fra profilen sin. Erstatt /restrict_user-siden med en hvilken som helst plassholderside, for eksempel startsiden eller en side med en «Tilgang nektet»-melding.

⁉️🤔 Ofte stilte spørsmål

Login or Logout Menu Item-pluginen fungerer ikke med PHP 8.0, hva bør jeg gjøre?

Det er én negativ anmeldelse på WordPress.org om inkompatibilitet med PHP 8.0 fra januar 2026. Imidlertid er pluginen testet opp til WP 7.0, og over 20 000 aktive installasjoner bekrefter stabil drift på moderne PHP-versjoner. Hvis du støter på en feil: bekreft pluginversjonen (bør være 1.3.2), deaktiver andre omdirigeringsplugins, tøm cachen. På et testnettsted med PHP 8.2 ble det ikke funnet noen problemer.

Kan jeg gjøre dette uten en plugin, bare med kode?

Ja. Metode 2 i denne artikkelen dekker fullt ut innlogging, utlogging og omdirigeringer via functions.php. Pluginen er mer praktisk: innstillinger fra adminpanelet uten å redigere filer, støtte for blokkredigerer, automatiske oppdateringer. Hvis nettstedet er enkelt og du bare trenger en inn- og utloggingsknapp, bruk pluginen. Hvis logikken er kompleks (ulike omdirigeringer per rolle, flere innloggingssider), bruk kode.

Hva bør jeg gjøre hvis menyelementet ikke vises i blokkredigereren?

I navigasjonsblokken klikker du «+» og skriver «login» i søket (ikke «lolmiloginout»). Hvis elementet ikke vises, bekreft at pluginen er aktiv og at din WordPress-versjon er 6.0 eller høyere. For eldre temaer uten blokkredigerer, bruk det klassiske grensesnittet under Utseende → Menyer.

Hvordan setter jeg opp omdirigeringer for ulike roller via pluginen?

Login or Logout Menu Item skiller ikke mellom roller; den utfører én omdirigering for alle brukere. For rollebaserte omdirigeringer, bruk koden fra Metode 2: sd_redirect_by_role-funksjonen fungerer selv om menyelementet ble lagt til via pluginen. login_redirect-filteret kjøres etter pluginens omdirigering og overstyrer den.

Hvorfor vises utloggingsbekreftelsessiden fortsatt?

Noen sikkerhetsplugins (Wordfence, Solid Security) overstyrer utloggingsatferd på sitt eget nivå. Deaktiver deres utloggingsbekreftelsesalternativ eller legg til utloggings-URL-en i hvitelisten. Koden fra Metode 2 utløses før de fleste plugins, men ikke alle; i sjeldne tilfeller må du kanskje konfigurere selve sikkerhetspluginen.

Hvordan skiller WP-Recall seg fra Login or Logout Menu Item?

WP-Recall er en fullverdig medlemsdashboard-plugin: profiler, private meldinger, grupper, handelsmoduler. Innlogging og utlogging er innebygd som en del av økosystemet. Login or Logout Menu Item løser nøyaktig én oppgave: en dynamisk inn-/utloggingsknapp i menyen. Hvis du trenger et komplett medlemsdashboard med mange funksjoner, se på WP-Recall eller MemberPress. Hvis du bare trenger en knapp i menyen, er Login or Logout Menu Item lettere og bringer ikke med seg ekstra bagasje.

Hva du bør bruke på nettstedet ditt: plugin eller kode

Den raske løsningen for et typisk nettsted er Login or Logout Menu Item-pluginen. Installer den, fyll ut tre felt i Innstillinger, legg til menyelementet. Alt fungerer på fem minutter. Tjue tusen aktive installasjoner og kompatibilitet med WP 7.0 bekrefter at verktøyet er modent og vedlikeholdt.

Hvis innloggingslogikken din er ikke-triviell (ulike omdirigeringer for ulike roller, integrasjon med en medlemsplugin, tilpasset innloggingsside), bruk koden fra Metode 2. Den er mer fleksibel, men krever forsiktighet. Skriv kode via Code Snippets, ikke direkte i temafilen. En skrivefeil i functions.php og nettstedet går ned.

En kombinasjon av pluginen for menyen og kode for omdirigeringer er kompromisset vi bruker på de fleste prosjekter. Pluginen gir praktisk administrasjon av menyelementer og støtte for blokkredigerer. Tilpasset kode håndterer spesifikke rolle- og omdirigeringskrav uten å komplisere pluginens innstillinger.

Velg basert på din oppgave, ikke andres sjekkliste. For et enkelt nettsted med et medlemsområde er pluginen nok. For en markedsplass eller utdanningsplattform er kode essensielt. Uansett, ta en sikkerhetskopi før du gjør endringer og test på en staging-kopi.