我想将条件链接分配给Wordpress顶级管理栏" Logout"。在哪个文件中我可以为此设置条件。实际上,我正在创建会员登录门户。为此,我需要将非管理员用户分配到不同的登录页面,而不是 wp-login.php 页面。例如:
<?php if(user == 'admin'): ?>
<a href="http://mysite/wp-login.php">Logout</a>
<?php } else { ?>
<a href="http://mysite/members.php">Logout</a>
<?php } ?>
任何帮助都会受到鼓舞。!!
答案 0 :(得分:0)
尝试使用以下代码
/**
* Sets the custom cookie with the redirect URL
*/
function wh_set_logout_url_cookie() {
if( !is_user_logged_in() ) return false;
global $current_user;
//getting current user role
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
$exists = $_COOKIE['the_logout_url'];
if( empty( $exists ) ) {
switch ($user_role) {
case 'administrator':
$expire = time() + ( 86400 * 7);
@setcookie('the_logout_url', 'your-url', $expire);
break;
case 'editor':
$expire = time() + ( 86400 * 7);
@setcookie('the_logout_url', 'your-url', $expire);
break;
default:
break;
}
}
}
add_action( 'init', 'wh_set_logout_url_cookie');
/**
* Applies the URL saved in the cookie to the wp_logout_url for redirect
*/
function wh_logout_redirect_url( $logouturl ) {
$redirect = $_COOKIE['the_logout_url'];
if( $redirect ) //redirect to the custom set url
return $logouturl . '&redirect_to=' . urlencode( $redirect );
//redirect to homepage
return $logouturl . '&redirect_to=' . urlencode( get_option( 'siteurl' ) );
}
add_filter('logout_url', 'wh_logout_redirect_url', 10, 2);
将your-url
替换为您的自定义网址。