Ondersteuning » Algemeen WordPress » Fout bij uitloggen

  • Opgelost corneallure2

    (@corneallure2)


    Dag allemaal,

    Heb een probleem bij het uitloggen https://allure2.nl/wp-login.php?action=logout&_wpnonce=d2553358d4 . Krijg de melding in het tabblad “Er is iets fout gegaan.” en de melding “Je probeert uit te loggen ” ” Weet je zeker dat je wilt uitloggen?”

    Hier wil ik dus vanaf. De website is bedoeld voor een VvE met gebruikers >60jr. 😉 M.a.w. bij elke ‘foutmelding’ gaan ze aan de bel trekken. Ik wil dus met deze link ‘Uitloggen’ ook direct uitgelogd zijn zonder een vraagstelling.

    Alvast bedankt!
    gr. Corné

    De pagina waar ik hulp bij nodig heb: [log in om de link te zien]

14 reacties aan het bekijken - 1 tot 14 (van in totaal 14)
  • Hallo Corné,

    Op deze pagina wordt uitgelegd wat er aan de hand kan zijn. In jouw URL zie ik wel een “nonce” staan, maar mogelijk is dat een niet-geldige.

    Gebruik je een plugin voor het tonen van de uitlog link?

    Guido

    Thread starter corneallure2

    (@corneallure2)

    Goedemorgen Guido,

    Dank voor je snelle reactie!

    Nee, ik gebruik geen plugin voor het tonen van de uitlog link.
    Ik heb het volgende gedaan zoals aangegeven:

    In het menu een link met het label “Uitloggen” geplaatst met link “http://allure2.nl/wp-login.php?action=logout” In function.php de volgende code geplaatst:

    function change_menu($items){
      foreach($items as $item){
        if( $item->title == "Uitloggen"){
             $item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
      }
      return $items;
    
    }
    add_filter('wp_nav_menu_objects', 'change_menu');
    
    

    In eerste instantie werkt deze optie zonder de vraagstelling “weet je zeker…”. Prima! Maar als ik daarna weer wil inloggen krijg ik de melding weer opnieuw?!

    Alvast bedankt weer!

    Hoi,

    De code die je geeft kom ik ook tegen op Stackexchange maar werkt bij mij niet en wordt daar niet goed beoordeeld. De URL die gegenereerd wordt is onjuist.

    Dit werkt wel (link). Toont zowel inlog- als uitloglink. Als je alleen de uitloglink wilt tonen, moet je die code even aanpassen. Als je niet weet hoe, laat het even weten.

    Guido

    Thread starter corneallure2

    (@corneallure2)

    Goedemiddag,

    Als ik de code:

    add_filter( 'wp_nav_menu_items', 'wti_loginout_menu_link', 10, 2 );
    
    function wti_loginout_menu_link( $items, $args ) {
       if ($args->theme_location == 'primary') {
          if (is_user_logged_in()) {
             $items .= '<li class="right"><a href="'. wp_logout_url() .'">'. __("Log Out") .'</a></li>';
          } else {
             $items .= '<li class="right"><a href="'. wp_login_url(get_permalink()) .'">'. __("Log In") .'</a></li>';
          }
       }
       return $items;
    }
    

    in functions.php plak werkt het maar éénmalig zonder melding. En er is een optie “Uitloggen” in menu toegevoegd. Prima!
    Als ik daarna opnieuw wil inloggen in hetzelfde scherm krijg ik weer de eerder genoemde melding.
    Of….. ik doe iets niet goed?

    Thnx,
    Corné

    Thread starter corneallure2

    (@corneallure2)

    O ja,
    Ik maak overigens gebruik van de plugin: LoginPress

    Bij mij werkt het keer op keer prima. Dus ja, zou goed kunnen liggen aan die extra plugin die je gebruikt. Misschien dat bepaalde instellingen van die plugin een conflict veroorzaken met deze code. Om dat vast te stellen zou je die plugin even kunnen de-activeren en het opnieuw kunnen proberen.

    Guido

    Thread starter corneallure2

    (@corneallure2)

    Nee helaas Guido, heb ik geprobeerd maar maakt niets uit.
    Dus als ik voor de eerste maal inlog (bij opstarten van de browser), gaat het goed. Daarna uitlog, gaat het goed. Maar daarna voor een tweede maal inloggen krijg ik weer de melding in het tabblad:
    “Er is iets fout gegaan.” en de melding “Je probeert uit te loggen van ” ”Weet je zeker dat je wilt uitloggen?”
    Lastig…..

    Thread starter corneallure2

    (@corneallure2)

    Dit is de URL waarbij ik voor de tweede maal wil inloggen….

    Thread starter corneallure2

    (@corneallure2)

    Oh, sorry deze dus:
    https://allure2.nl/wp-login.php?redirect_to=https%3A%2F%2Fallure2.nl%2Fwp-login.php%3Faction%3Dlogout%26_wpnonce%3Da5cc2929d0&loggedout=true&wp_lang=nl_NL

    En deze URL is bij het opstarten van de browser bij het aanroepen van de site:
    https://allure2.nl/wp-login.php?redirect_to=https%3A%2F%2Fallure2.nl%2F

    Misschien kun jij daar iets uit afleiden?
    Thnx!

    Als ik uitlog via die uitloglink die in mijn menu is komen te staan, is dit het enige dat achter mijn domein staat: wp-login.php?loggedout=true&wp_lang=nl_NL
    En ik kom weer uit bij het inlogscherm.
    Bij jou staat er een redirect in de URL en ook een nonce. De nonce is voor eenmalig gebruik, dus werkt niet voor 2e keer. Dus iets in jouw site veroorzaakt dit, ik dacht zelf die plugin. Of anders een cache plugin?

    Guido

    Thread starter corneallure2

    (@corneallure2)

    Ik heb die plugin ‘LoginPress’ een keer gedeactiveerd maar dat maakte niet uit. Ik heb ook geen cache plugin geactiveerd. Heb ook een alle plugins gedeactiveerd en een voor een aangezet maar geen resultaat.

    Het m.n. inderdaad die 2e keer na in- en uitgelogd te zijn geweest.
    Inlogscherm na in- en uitloggen:
    https://allure2.nl/wp-login.php?redirect_to=https%3A%2F%2Fallure2.nl%2Fwp-login.php%3Faction%3Dlogout%26_wpnonce%3D16753ac6a6&loggedout=true&wp_lang=nl_NL

    Foutmelding na inloggen (2e keer)
    https://allure2.nl/wp-login.php?action=logout&_wpnonce=c1584edc5c

    Thnx!
    Corné

    Thread starter corneallure2

    (@corneallure2)

    Hoi Guido,

    Ik heb het gevonden! Dit was de oplossing

    function change_menu($items){
      foreach($items as $item){
        if( $item->title == "Logout"){
             $item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' );
        }
      }
      return $items;
    
    }
    add_filter('wp_nav_menu_objects', 'change_menu');

    Daarna:
    If you want to redirect to the login page after logout then you should append login URL as:

    $item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' ).'&redirect_to='.wp_login_url();

    Dit werkt en geen melding meer die we niet willen!
    Bedankt voor je medewerking!

    gr. Corné

    • Deze reactie is gewijzigd 1 jaar, 11 maanden geleden door corneallure2.

    Hallo Corné,

    Mooi dat het nu wel goed werkt, bedankt voor de update en graag gedaan!

    Guido

    Hallo Corne,

    Ik kwam jouw vraag en oplossing tegen. Ik heb hetzelfde probleem maar ik gebruik een plugin hiervoor. Ondanks dat krijg ik ook steeds de opmerking bij het uitloggen dat er iets fout gaat. Jij beschrijft een oplossing die wel zou werken. Deel 1 daarvan begrijp dat je dit moet toevoegen aan functions.php maar na “Daarna …..” ben ik het spoor bijster. Waar dien je dat stukje code toe te voegen? Overigens is mijn blog/website ook voor een VvE. Alvast dank voor je medewerking.

14 reacties aan het bekijken - 1 tot 14 (van in totaal 14)
  • Het onderwerp ‘Fout bij uitloggen’ is gesloten voor nieuwe reacties.