webentwicklung-frage-antwort-db.com.de

so leiten Sie zu einer benutzerdefinierten Seite zum Abrufen von Passwörtern um

Ich habe eine neue Site und verwende bbpress beta-3 damit. Ich habe benutzerdefinierte Anmelde-/Registrierungs-/Passwortverlust-Seiten mit den mit bbpress gelieferten benutzerdefinierten Vorlagen erstellt und kann den Filter/Hook/scheinbar nicht finden. Aktion, die die Aufrufe von wp-login.php "entführt". Mein größtes Problem ist die lost-password-Seite. Ich möchte mit einem Hinweis weiterleiten. Ich kann den Fehler abfangen, aber ich kann das sent password-Ereignis nicht abfangen.

Ich benutze jetzt in function.php:

function get_password_retrieve_errors(){
    wp_redirect( site_url('lost-password').'?getpass=failed'  );
}

add_filter('lostpassword_redirect', 'get_password_retrieve_errors', 1);

und in form-user-lost-pass.php:

<?php if ( $_GET['getpass'] == 'failed' ) { ?>
    <div class="bbp-template-notice error">
        <p>Invalid username or e-mail, please try again.</p>
    </div>
<?php } ?>
  1. Gibt es eine Möglichkeit, dies zu tun?
  2. Gibt es ein globales $ error-Objekt, auf das ich mich immer beziehen kann?
  3. Gibt es ein globales $ notifications-Objekt, auf das ich mich immer beziehen kann?

Vielen Dank!

4
Amit

ich bin mir auch nicht sicher, ob ich dir wirklich folge, ABER was ist mit dem Filtern der wp_lostpassword_url

von wp-includes/general-template.php

function wp_lostpassword_url( $redirect = '' ) {
            $args = array( 'action' => 'lostpassword' );
            if ( !empty($redirect) ) {
                    $args['redirect_to'] = $redirect;
            }

            $lostpassword_url = add_query_arg( $args, network_site_url('wp-login.php', 'login') );
            return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );
}

anscheinend gibt es einen Filter, mit dem Sie auf Ihre benutzerdefinierte URL verweisen und sogar Ihre Abfragevariable "getpass" hinzufügen können

Hier ist ein sehr einfaches Beispiel:

function custom_login_lostpassword_url()
{
    // use a site_url/plugins_url to output the correct URL.
    return "http://.../my-custom-lostpassword-screen.php";
}

add_filter("lostpassword_url", "custom_login_lostpassword_url");
3
helgatheviking