如果你的博客有一些你不想公开给所有访问者的限制区域,那么你可能会想 强制用户在阅读这些帖子之前登录 。 幸运的是,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起可用。