强制用户在WordPress阅读帖子之前登录

如果你的博客有一些你不想公开给所有访问者的限制区域,那么你可能会想 强制用户在阅读这些帖子之前登录 。 幸运的是,WordPress有一个内置的功能,可以帮助我们做到这一点。

WordPress:强制用户在阅读帖子之前登录

函数是auth_redirect(),它是这样工作的:当它从一个页面被调用时,它检查查看页面的用户是否登录。如果用户没有登录,它们是 重定向到登录页面 。 用户被重定向的方式,登录后,他们会 直接发送到他们最初尝试访问的页面

通过使用这个功能,我们可以实现我们的代码来检查帖子是否被限制,如果需要,可以将用户重定向到登录页面。

只需将以下代码粘贴到您的主题中 的functions.php 文件:

函数my_force_login(){
     全球$ post;

     if(!is_single())return;

     $ ids = array(188,185,171);  //强制登录进行读取的帖子ID数组

     if(in_array((int)$ post-> ID,$ ids)&&!is_user_logged_in()){
     auth_redirect();
     }
     } 

更改帖子ID的数组以符合您的要求。 之后,打开 header.php文件 文件,并将下面的代码放在最上面:

代码很简单,但你可以 展开它 有更多的选择,如:需要登录在一些特定的类别,做一个选择页面,方便输入帖子ID等。

功能 auth_redirect() 自WordPress 1.5起可用。