我想做以下事情: 如果用户注销,他可以查看页面id = 10,如果用户已登录并且查看页面id = 10,则他将被重定向到页面id = 5。我尝试将以下代码添加到我的标题中,但它不起作用。
add_action( 'init', 'check_redirect_page' );
function check_redirect_page() {
if ( is_user_logged_in() && is_page( 10 ) ) {
wp_redirect( get_permalink( 5 ) );
exit;
}
}
答案 0 :(得分:0)
尝试使用wp
挂钩而不是init
; WordPress在init
处不会知道它是否正在处理特定页面。
add_action( 'wp', 'check_redirect_page' );
来自Conditional Tags文档:
警告:您只能使用条件查询标记 在WordPress中的posts_selection动作钩子( wp 动作钩子是 第一个你可以使用这些条件)。对于主题, 这意味着如果你是条件标签将无法正常工作 在functions.php的主体中使用它,即在函数之外。