como redirecionar para uma página de recuperação de senha personalizada

4

Eu tenho um novo site e estou usando o bbpress beta-3 com ele, criei páginas personalizadas de login / register / lost-password com os modelos personalizados fornecidos com o bbpress e não consigo encontrar o filtro / hook / action que "intercepta" as chamadas para wp-login.php . Meu maior problema é com a página lost-password , eu quero redirecionar com um aviso, eu posso pegar o erro, mas não consigo pegar o evento sent password .

Agora estou usando em function.php:

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

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

e no 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. Existe uma maneira de fazer isso?
  2. Existe um objeto global $ error ao qual posso sempre me referir?
  3. Existe um objeto global $ notifications ao qual eu posso sempre me referir?

Obrigado!

    
por Amit 07.07.2011 / 17:31

1 resposta

3

não tenho certeza se eu realmente o segui, MAS e sobre como filtrar o wp_lostpassword_url

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 );
}

parece que tem um filtro que você pode usar para apontar para seu URL personalizado e até mesmo adicionar sua consulta 'getpass' var

Aqui está um exemplo muito básico:

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");
    
por helgatheviking 13.02.2012 / 20:05