Cum să schimbi link-ul implicit de logout în WordPress Admin
Vreau să folosesc un alt link pentru logout deoarece am protejat /wp-admin/*
cu htpassword. Există vreo modalitate de a face asta? Ceva de genul creării unei pagini personalizate precum site.com/logout
și apoi să o folosesc ca nou link de logout?
Mulțumesc!

Puteți filtra 'logout_url'
și returna o valoare personalizată dacă vă aflați în zona de administrare:
add_filter( 'logout_url', 'wpse_58453_logout_url' );
function wpse_58453_logout_url( $default )
{
// setați URL-ul personalizat aici
return is_admin() ? 'http://example.com/custom' : $default;
}

Dar de ce primesc eroarea 404? Am încercat mysite.com/logout dar primesc 404, trebuie să adaug ceva cod la finalul URL-ului?

Păi, ținta ar trebui să existe undeva. :) Poți crea un endpoint personalizat (exemplu).

Ce voi face cu endpoint-ul? Am creat o pagină numită 'logout' și doar redirecționează acolo, ce trebuie să adaug pe pagina de logout? Mulțumesc pentru răspuns.

Nu sunt sigur dacă te mai urmăresc... poate asta e o întrebare separată?

Nu, aceeași întrebare. Uite care e treaba: am urmărit funcția ta, am adăugat-o în fișierul meu de funcții personalizate, apoi am setat-o să fie "mysite.com/logout" - logout fiind o pagină WordPress. Când fac <?php echo wp_logout_url( ); ?>
îmi dă URL-ul corect de logout, care este mysite.com/logout, dar când dau click pe el, mă redirecționează doar către pagina WordPress /logout. Trebuie să configurez vreun cod pe pagina mea /logout
din WordPress?

Nu înțeleg. Care e problema cu redirecționarea către /logout
dacă asta e pagina pe care ai setat-o în funcție?

http://mysite.com/wp-login.php?action=logout&redirect_to=url
În prezent, aceasta este URL-ul implicit pentru deconectare de pe site-ul meu. Nu vreau să folosesc acest link. Vreau să folosesc ceva de genul http://mysite.com/logout
pentru a efectua acțiunea de deconectare. Nu am nicio problemă cu redirecționarea după deconectare. Sper că înțelegeți ideea. Mulțumesc!

hai să continuăm această discuție în chat

Am găsit soluția aici: https://www.kmbytes.com/wordpress-logout-redirect-filter/

Am găsit soluția aici: https://www.kmbytes.com/wordpress-logout-redirect-filter/
Și funcționează perfect!
add_filter( 'logout_url', 'my_logout_url' );
function my_logout_url( $url ) {
$redirect = home_url();
return $url.'&redirect_to='.$redirect;
}
Noroc!

function wp_loginout( $redirect = '', $echo = true ) {
if ( ! is_user_logged_in() ) {
$link = '<a href="' . esc_url( wp_login_url( $redirect ) ) . '">' . __( 'Autentificare' ) . '</a>';
} else {
$link = '<a href="' . esc_url( wp_logout_url( $redirect ) ) . '">' . __( 'Deconectare' ) . '</a>';
}
if ( $echo ) {
/**
* Filtrează HTML-ul generat pentru link-ul de Autentificare/Deconectare.
*
* @since 1.5.0
*
* @param string $link Conținutul HTML al link-ului.
*/
echo apply_filters( 'loginout', $link );
} else {
/** Acest filtru este documentat în wp-includes/general-template.php */
return apply_filters( 'loginout', $link );
}
}
Afișează un link care permite utilizatorilor să navigheze către pagina de Autentificare pentru a se conecta sau deconecta, în funcție de starea lor curentă.

Bine ați venit în comunitatea de Dezvoltare WordPress! Această funcție este exact așa cum este descrisă - totuși nu răspunde efectiv la întrebare, care se referea la modul de schimbare a destinației link-ului deja disponibil

Acest lucru nu oferă un răspuns la întrebare. Odată ce vei avea suficientă reputație vei putea comenta pe orice postare; în schimb, oferă răspunsuri care nu necesită clarificări din partea celui care întreabă. - Din Review

O soluție foarte interesantă este să creezi o pagină "Deconectare" și apoi să creezi șablonul acesteia în folderul principal al temei tale prin fișierul page-{your-logout-slug}.php
. Iată cel mai simplu cod pentru această pagină.
if ( is_user_logged_in() ) :
wp_logout();
wp_redirect(site_url());
else :
wp_redirect(site_url());
endif;
Adaugă un argument la site_url()
cu orice slug sau lasă gol pentru a fi deconectat către pagina ta principală. Este o soluție bună pentru că folosind orice cod php poți face multe lucruri înainte să fii deconectat.
