强制用户在WordPress中阅读帖子之前登录
如果您的博客有一些您不想向所有访问者公开的限制区域,仅适用于成员,那么您可能希望强制用户在阅读这些帖子之前登录。幸运的是,WordPress有一个内置函数可以帮助我们做到这一点。
函数是auth_redirect(),这是它的工作原理:当从页面调用它时,它检查是否用户查看该页面已登录。如果用户未登录,则将重定向到登录页面。用户被重定向,在登录时,它们将直接发送到他们最初尝试访问的页面。
通过使用此方法函数,我们可以实现检查帖子是否受限制的代码,并在需要时将用户重定向到登录页面。
只需将以下代码粘贴到主题的 functions.php %%中%%%% file:更改帖子ID数组以满足您的要求。之后,打开
function my_force_login() { global $post; if (!is_single()) return; $ids = array(188, 185, 171); // array of post IDs that force login to read if (in_array((int)$post->ID, $ids) && !is_user_logged_in()) { auth_redirect(); } }
header.php header.php文件
文件并将以下代码放在最顶层:
<?php my_force_login(); ?>
代码很简单,但您可以将它扩展为,其中包含更多选项:require login in some specific categories,创建一个易于输入帖子ID的选项页面等。