在 WordPress functions.php 中检查 URL

Check for URL in WordPress functions.php

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

我猜它在 functions.php

中使用此代码
if (!(is_user_logged_in()) && is_page('PAGE-ID')){
    wp_redirect( home_url() . '/login' );
    exit;
}

但不幸的是,该站点没有页面 ID,因此我必须改为定位 URL。我该怎么做?

这样试试。

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

if (!(is_user_logged_in()) && $pageUrl=='http://yoursiteurl.com/page/'){
    wp_redirect( home_url() . '/login' );
    exit;
}

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

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');