0

我想限制登录用户访问我的 WordPress 站点的特定 URL。所以如果有人没有登录,他们应该被重定向到主页。

我猜它在functions.php中使用这个代码

if (!(is_user_logged_in()) && is_page('PAGE-ID')){
    wp_redirect( home_url() . '/login' );
    exit;
}

但不幸的是,这个站点没有 Page-ID,所以我必须改为定位 URL。我怎样才能做到这一点?

4

2 回答 2

1

像这样试试。

global $post;
$pageUrl = get_permalink($post->ID);

if (!(is_user_logged_in()) && $pageUrl=='http://yoursiteurl.com/page/'){
    wp_redirect( home_url() . '/login' );
    exit;
}
于 2018-01-17T08:32:37.900 回答
1

重要的是,不要使用缓存!

if ( !(is_page('pag-2') || is_page('pag-1')) && !is_user_logged_in()) {
    header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    header('Location: page-to-redirect');
于 2020-10-29T11:03:12.667 回答