Support » Forum Regels » 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]

13 reacties aan het bekijken - 1 tot 13 (van in totaal 13)
  • Guido

    (@guido07111975)

    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

    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!

    Guido

    (@guido07111975)

    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

    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é

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

    Guido

    (@guido07111975)

    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

    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…..

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

    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!

    Guido

    (@guido07111975)

    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

    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é

    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 week, 6 dagen geleden door corneallure2.
    Guido

    (@guido07111975)

    Hallo Corné,

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

    Guido

13 reacties aan het bekijken - 1 tot 13 (van in totaal 13)