20160207更新:发现一部分主题或其他的php版本添加后打开文章页面为空白,如果遇到空白直接删除添加的函数即可。
现推荐一个插件“Restricted Site Access”,可实现未登陆用户跳转至任意界面,当然也可跳转至登陆界面。该插件可直接在后台直接搜索安装。安装完后为英文界面,这里下载中文包,解压后上传到该插件的 localization 目录即可(部分词条不支持翻译,中文包由下载)。
步骤一 添加自定义函数
在当前主题的function.php中添加:
/*判断用户是否登录*/
function liveme_if_login() { if (!is_user_logged_in()) { auth_redirect(); } }
步骤二 调用自定义函数
在当前主题的header.php中添加:
<!--?php liveme_if_login(); ?-->
现在就可以实现用户只有登录后才可以访问站点了。
如果你是想针对其中的某几篇文章或者某个分类的文章,又或者是某个页面添加该功能,也不是很难的事情。举个例子,如果你想对其中某几篇文章进行限制,老外帮我们写了个数组:
function liveme_if_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(); }
array中的那几个数字便是你想要进行限制的文章ID(怎么看文章ID?既可以看数据库,也可以进入该文章的编辑状态,地址栏中的“post=”后面的数字便是该文章的ID);
如你只想对所有的具体文章页面进行限制,而其他的分类页面和首页等不进行限制,那么,你可以这样:
function liveme_if_login() { if (is_single() && !is_user_logged_in()) { auth_redirect(); } }
当然你也可以直接设置文章为私密状态。
20160207
转载请注明:宿居博客 » wordpress用户登录后才可以浏览站点