获取重定向的页面ID- WordPress

uqjltbpv  于 2023-06-21  发布在  WordPress
关注(0)|答案(1)|浏览(114)

我试图使一个WordPress插件重定向到WordPress的登录页面,如果他试图访问一个受限制的页面非登录用户。

function redirection()
{
   $pageid = get_queried_object_id();

   if (!is_user_logged_in()) {
      if ($pageid === 5) {
         wp_redirect('http://localhost/wordpress/login');
         exit();
      } else if ($pageid === 8) {
         wp_redirect('http://localhost/wordpress/login');
         exit();
      } else if ($pageid === 10) {
         wp_redirect('http://localhost/wordpress/login');
         exit();
      }
   }
}

add_action('init', 'redirection');

问题是,即使页面ID是正确的,用户也不会被重定向,即使他没有登录。
我已经启用了WordPress的调试模式,并没有WordPress的错误。
$pageid应该是一个int,我的“test1”页面得到了ID 5。但它没有重定向用户。

ktecyv1j

ktecyv1j1#

过了一会儿和我的同事们检查,我们看到问题出在“add_action”上
下面是代码解决方案:

function redirection()
{
   $pageid = get_queried_object_id();

   if (!is_user_logged_in()) {

      if (is_page(array('test1'))) { 
         wp_redirect('http://localhost/wordpress/login');
         exit();
      }
   }
}

add_action('template_redirect', 'redirection');

相关问题