WordPress如何做到限定用户阅读相关内容

Author: 陌小雨Date: 2017-11-26View: 20

今天在整理收藏夹的时候发现,以前收藏的一些文章站点打不开了,果然,个人站长越来越边缘化了,坚持下来的都是值得敬仰的,这让陌小雨萌生了一个想法,要不还是转载过来当个备份吧。

这个功能,陌小雨博客正在启用,网络收藏夹只对登陆用户开放,具体是怎么做的呢?

只允许登陆用户查看内容的核心代码就是:

if(is_user_logged_in())
        // 注意把下面的代码改成你的主题中代码,不要生搬硬套
        the_content();
    else
        echo '请登陆后阅读本文!';

我们稍微的拓展一下就可以实现在指定分类目录只允许登陆用户查看

if( in_category( array( 'music', 'news' ) ) ) {
    if(is_user_logged_in())
        // 注意把下面的...改成你的主题中代码,不要照抄
        the_content(...);
    else
        echo '请登陆后阅读本文!';
}
else {
    // 注意把下面的...改成你的主题中代码,不要照抄
    the_content(...);
}

上面的music、news为你的分类目录别名或名称,也可以更改为分类的id,多个的话按格式添加就好

如果你的站点对用户进行了分级管理:

0 级对应 订阅者
1 级对应 投稿者
2 – 4 级对应 作者
5 – 7 级对应 编辑
8 – 10 级对应 管理员

也就是对不同级别的用户进行进一步的限制:核心代码:

 global $current_user;
    get_currentuserinfo();
	
    if(is_user_logged_in() && $current_user->user_level > 3)

为了更好的SEO效果,让搜索引擎可以收录你隐藏的文章内容,我们最好是给spider开放一个绿色通道,核心代码:

function is_se() {
   $u_agent = $_SERVER['HTTP_USER_AGENT'];
   $spiders = '/(spider|bot|slurp|Mediapartners|crawl)/i';
	
   if ( preg_match($spiders, $u_agent) )
      return 1;
   else
      return 0;
}
	
if(is_user_logged_in() || is_se())

接下来我集中把常用的4种限定用户阅读相关内容的方法整理给大家:
1、隐藏文章中部分内容,登陆后可见
2、隐藏文章中部分内容,评论可见
3、隐藏文章中部分内容,输入密码后可见
4、隐藏文章中部分内容,关注公众号后可见
5、添加以上4种办法的简码,方便编辑文章时候插入

具体方法如下:

你的二维码名字
请输入验证码查看内容
验证码:
微信扫码,回复关键字“92wp”获取验证码即可查看