web-dev-qa-db-fra.com

comment rediriger vers une page de récupération de mot de passe personnalisé

J'ai un nouveau site et j'utilise bbpress beta-3 avec celui-ci, j'ai créé des pages personnalisées de connexion/enregistrement/mot de passe perdu avec les modèles personnalisés fournis avec bbpress et je n'arrive pas à trouver le filtre/hook /. action qui "détourne" les appels à wp-login.php. Mon plus gros problème est avec la page lost-password, je veux rediriger avec une notification, je peux attraper l'erreur mais je ne peux pas attraper l'événement sent password.

J'utilise maintenant dans function.php:

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

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

et dans 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. Y a-t-il un moyen de le faire?
  2. Existe-t-il un objet global $ error auquel je peux toujours faire référence?
  3. Existe-t-il un objet global $ notifications auquel je peux toujours faire référence?

Merci!

4
Amit

pas sûr que je vous suis vraiment non plus, MAIS qu'en filtrer le wp_lostpassword_url

à partir de 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 );
}

ressemble à un filtre que vous pouvez utiliser pour le diriger vers votre URL personnalisée et même pour ajouter votre requête 'getpass'

Voici un exemple très basique:

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