Маскирующий URL-адрес выхода из системы
Основная цель состоит в том, чтобы скрыть, что сайт управляется wordpress. У меня вся часть входа заблокирована, но в URL-адресе выхода все еще есть эти проклятые wp
разграничители, которые выдают, что это сайт wordpress.
Есть ли способ каким-то образом замаскировать этот URL-адрес? Возможно, в сочетании с пользовательским перенаправлением, когда ссылка на стороне клиента переходит на www.site.com/logout/
, но что-то в functions.php
восстанавливает фактическую ссылку выхода из системы?
Я пробовал варианты wp_logout_url('$index.php')
, но это только перенаправляет. Я также пробовал
add_filter( 'wp_logout_url', 'cusotm_logout' );
function cusotm_logout()
{
// set your URL here
return 'http://www.site.com/logout/';
}
Этот последний не только не работает, но также добавляет title=
в конец URL-адреса. Я не уверен, что выход из системы не работает из-за этого или сама функция является полностью неправильным подходом.
Я использую плагины только в случае крайней необходимости. В поисках самостоятельного решения... без необходимости mod_rewrite
, если это вообще возможно.
1 answers
Недостаточно заменить только URL-адрес. Вы должны сказать WordPress, что делать с новым URL-адресом.
Пример кода, создает URL-адрес для выхода, например example.com/logout=1
, и перенаправляет на главную страницу или пользовательский URL-адрес после выхода пользователя из системы:
add_filter( 'logout_url', 't5_custom_logout_url', 10, 2 );
add_action( 'wp_loaded', 't5_custom_logout_action' );
/**
* Replace default log-out URL.
*
* @wp-hook logout_url
* @param string $logout_url
* @param string $redirect
* @return string
*/
function t5_custom_logout_url( $logout_url, $redirect )
{
$url = add_query_arg( 'logout', 1, home_url( '/' ) );
if ( ! empty ( $redirect ) )
$url = add_query_arg( 'redirect', $redirect, $url );
return $url;
}
/**
* Log the user out.
*
* @wp-hook wp_loaded
* @return void
*/
function t5_custom_logout_action()
{
if ( ! isset ( $_GET['logout'] ) )
return;
wp_logout();
$loc = isset ( $_GET['redirect'] ) ? $_GET['redirect'] : home_url( '/' );
wp_redirect( $loc );
exit;
}
Как плагин на GitHub, потому что это чистая территория плагинов. И вы не можете действительно скрыть WordPress.
Он также добавляет title= в конец URL-адреса
Я предполагаю, что проблема заключается в такой разметке:
<a href="<?php echo wp_logout_url(); ?> title="Log out">Log out</a>
Обратите внимание на отсутствующие "
.