Добавление ссылки на логаут без перехода к странице подтверждения

Добавление ссылки на логаут без перехода к странице подтверждения

Логаут-функция в WordPress использует одноразовые токены для безопасности (которые носят название nonce), поэтому если вы попытаетесь перейти по адресу yoursite.com/wp-login.php?action=logout, то вам будет выведена на экран страница с подтверждением выхода из системы.

Это не слишком удобно, но, к счастью, есть способ избежать появления этой страницы.

С помощью функции wp_logout_url в сочетании с wp_nav_menu_items мы можем добавить ссылку на логаут в любое меню, причем пользователю не придется подтверждать, что он действительно хочет выйти из системы, поскольку функция автоматически добавляет одноразовый токен к ссылке.

// ссылка на логаут в меню

function diww_menu_logout_link( $nav, $args ) {
	$logoutlink = '<li><a href="'.wp_logout_url().'">Logout</a></li>';
	if( $args->menu->term_id == '5' ) {
		return $nav.$logoutlink ;
	} else {
	return $nav;
	}
}

add_filter('wp_nav_menu_items','diww_menu_logout_link', 10, 2);

Все, что вам понадобится – это изменить ID меню (в данном случае 5). Если вы не знаете ID вашего меню, но знаете theme_location вашего меню, в таком случае воспользуйтесь следующей функцией:


// ссылка на логаут в меню

function diww_menu_logout_link( $nav, $args ) {
	$logoutlink = '<li><a href="'.wp_logout_url().'">Logout</a></li>';
	if( $args->theme_location == 'primary' ) {
		return $nav.$logoutlink ;
	} else {
	return $nav;
	}
}

add_filter('wp_nav_menu_items','diww_menu_logout_link', 10, 2);

Вы можете также указать, на какую страницу будет переноситься пользователь после логаута. Измените $logoutlink на следующее:

$logoutlink = '<li><a href="'.wp_logout_url( home_url() ).'">Logout</a></li>'; // перенаправление на главную
$logoutlink = '<li><a href="'.wp_logout_url( get_permalink() ).'">Logout</a></li>'; // оставаться на той же странице
$logoutlink = '<li><a href="'.wp_logout_url( 'http://www.doitwithwp.com/about/' ).'">Logout</a></li>'; // переход к определенному URL

Источник: doitwithwp.com

Сохранено из oddstyle.ru

Добавить комментарий

%d такие блоггеры, как: