我需要强迫用户登录才能看到浏览我的网站。对于新用户,只应允许访问my-account
页面,这是我的登录URL,即example.org/my-account
以下是我到目前为止所做的
add_action('wp','force_register' );
function force_register() {
$loggedin = is_user_logged_in();
$pagename = get_query_var('pagename'); //get current page name
if(strcmp("my-account",$pagename) != 0){ //if the user is looking at any other page other than my-account page
if(!$loggedin){ //if the user is not logged in
wp_safe_redirect( "/my-account", 302 ); //redirect to the login page
exit;
}
}
浏览器无法重定向,并抱怨重定向过多
我想念什么?
答案 0 :(得分:0)
在WordPress执行任何路由,处理或处理之前。它在main()WP方法中运行,其中$ query_args传递给parse_request()以及设置send_headers(),query_posts(),handle_404()和register_globals()时。这是由您的问题引起的,您可以使用init代替wp hook。 more about wp hook.