Redirecționare utilizator după delogare

2 ian. 2013, 06:18:24
Vizualizări: 16.9K
Voturi: 2

Încerc să creez o pagină de dezabonare pentru membrii mei, dar pentru a vedea formularul de dezabonare, ei trebuie să fie delogați, așa că primul link este:

/wp-login.php?action=logout&_wpnonce=ba51bbcdc3

După ce sunt delogați, trebuie să fie redirecționați către formularul de dezabonare, dar nu pot seta o redirecționare simplă, deoarece aceasta este și pagina de login.

0
Toate răspunsurile la întrebare 3
1

Puteți folosi tag-ul de șablon wp_logout_url() pentru a genera un link de logout. Puteți specifica URL-ul către care utilizatorul va fi redirecționat ca prim parametru:

wp_logout_url( 'http://example.com' );

Codul de mai sus va genera un URL care arată cam așa: /wp-login.php?action=logout&_wpnonce=ba51bbcdc3&redirect_to=http://example.com/unsubscribe. Puteți transforma acest URL într-un link astfel:

<a href="<?php echo wp_logout_url( home_url( 'unsubscribe' ) ); ?>" title="Logout">Logout & Unsubscribe</a>

Dacă doriți să folosiți această funcționalitate într-o pagină sau articol, trebuie să creați un shortcode:

function wpse_77939_unsubscribe_link() {
    return sprintf(
        '<a href="%s" title="Logout">Logout & Unsubscribe</a>',
        wp_logout_url( home_url( 'unsubscribe' ) )
    );
add_shortcode( 'unsubscribe-link', 'wpse_77939_unsubscribe_link' );

Apoi puteți adăuga [unsubscribe-link] într-un articol sau pagină unde doriți ca link-ul să apară.


Dacă redirecționați către un alt site în afară de al vostru, trebuie să adăugați acest cod în fișierul functions.php (înlocuiți example.com cu domeniul site-ului):

add_filter( 'allowed_redirect_hosts','wpse_77938_allowed_redirect_hosts' );
function wpse_77938_allowed_redirect_hosts( $allowed ) {
    $allowed[] = 'example.com';
    return $allowed;
}
2 ian. 2013 07:50:14
Comentarii

Acest răspuns completează postarea lui @WordPress Kid

shea shea
2 ian. 2013 08:31:09
0

Folosiți acest cod dacă îl utilizați în meniul de gestionare a meniurilor

http://www.example.com/wp-login.php?action=logout&amp;redirect_to=http://www.example.com/
27 apr. 2014 09:17:18
2

WordPress include un tag de șablon pe care îl poți utiliza: wp_logout_url(). Sunt doar câteva linii simple de cod dacă dorești să redirecționezi utilizatorii către o altă adresă URL după ce se deconectează.

Eu am scris un tutorial la sfârșitul anului trecut despre cum să folosești acest tag de șablon. Pe scurt, trebuie să creezi un filtru în functions.php și apoi să creezi un link de Logout în sidebar.php.

Dacă redirecționezi către un alt website în afară de al tău, trebuie să adaugi acest cod în fișierul tău functions.php (înlocuiește example.com cu domeniul site-ului):

add_filter( 'allowed_redirect_hosts','wpse_77938_allowed_redirect_hosts' );
function wpse_77938_allowed_redirect_hosts($link) {
    $link[] = 'example.com';
    return $link;
}

Apoi, trebuie să adaugi această linie în fișierul tău sidebar.php sau oriunde poți executa PHP:

<a href="<?php echo wp_logout_url( 'http://example.com' ); ?>" title="Deconectare">Deconectare</a>
2 ian. 2013 07:40:04
Comentarii

Te rog să explici cum să faci asta ca parte din răspunsul tău

shea shea
2 ian. 2013 07:55:57

Terminat @bungeshea.

Naveen Chand K Naveen Chand K
2 ian. 2013 08:02:54