wake-up-neo.com

automatisches einloggen nach registrierung für wp-mitglieder plugin

Ich habe versucht, mich automatisch bei WordPress anzumelden, nachdem ich mich mit dem Passwort registriert habe, wenn ich das WP-Members Plugin verwendet habe.

Ich habe kein Blog, deshalb habe ich mich entschlossen, es hier zu schreiben, es kann also für jemanden hilfreich sein. Ich bin nicht wirklich gut in der Programmierung von WordPress-Plugins. Und ich habe einige Zeit gebraucht, um es zu finden.

Das funktioniert natürlich, wenn Sie in den Einstellungen des Plugins ein benutzerdefiniertes Feld (option_name = password) hinzufügen.

In der Datei wp-members.register.php in der Funktion * wpmem_registration ($ toggle) * habe ich diese Zeile ersetzt:

return "success"; exit();

mit diesem Code aus der Funktion * wpmem_login () * in der Datei wp-members-core.php :

    /** assemble login credentials */
    $creds = array();
    $creds['user_login']    = $username;
    $creds['user_password'] = $password;
    $creds['remember']      = true;


    /** wp_signon the user and get the $user object */
    $user = wp_signon( $creds, false );

    /** if no error, user is a valid signon. continue */
    if( ! is_wp_error( $user ) ) {

        /** set the auth cookie */
        wp_set_auth_cookie( $user->ID, true );


        /** determine where to put the user after login */
        $redirect_to = $_SERVER['PHP_SELF'];
        if( isset( $_POST['redirect_to'] ) ) {
            $redirect_to = $_POST['redirect_to'];
        }


        /** apply wpmem_login_redirect filter */
        $redirect_to = apply_filters( 'wpmem_login_redirect', $redirect_to );



        /** and do the redirect */
        wp_redirect( $redirect_to );

        /** wp_redirect requires us to exit() */
        exit();

    } else {

        return "loginfailed";
    }

Ist das sicher? Könnte es besser gemacht werden?

1
mdob

Ich bin mir nicht sicher, ob ich dir richtig folge, aber du solltest keine Kern-Plugin-Dateien bearbeiten, sondern die verfügbaren Hooks und Filter von WP-Mitgliedern nutzen und zum Beispiel entweder dein eigenes Plugin erstellen oder einfach dein Plugin verwenden Datei functions.php, um ihr Verhalten zu ändern.

add_action( 'wpmem_register_redirect', 'my_reg_redirect' );

function my_reg_redirect()
{
    // NOTE: this is an action hook that uses wp_redirect
    // wp_redirect must end with exit();

    wp_redirect( 'http://example.com/my-page/' );

    exit();
}

Auch aus diesem Link entnommen ,

Angenommen, Sie möchten nicht, dass Benutzer nach einer erfolgreichen Registrierung sofortigen Zugriff auf die Site haben , sondern Sie möchten manuell überprüfen, ob Sie einen legitimen Benutzer haben. In solchen Fällen können Sie mit WP-Members ™ Registrierungen moderieren, wobei der Benutzer vor dem Zugriff von einem Administrator „aktiviert“ werden muss.

Es scheint eine Option innerhalb des Plugins selbst zu sein, entweder mäßige oder nicht mäßige Registrierungen vorzunehmen, wobei die letztere einen Benutzer bei erfolgreicher Registrierung automatisch anmeldet, während die erstere, falls aktiviert, die Aktivierung seines Kontos über e erfordert -Mail oder dass ein Administrator ihr Konto genehmigen.

2
userabuser