wordpress对特定用户组隐藏或显示部分文章,非隐藏部分内容

2019年10月8日 161

由于某些博客想把部分指定的文章隐藏起来不给游客展示(即未登录用户),也就是隐藏指定的文章不呈现给游客。跟之前我们所说的隐藏文章部分内容不太一样,那是游客可以看到该文章其他不隐藏的内容。现在的问题是,如何让游客连隐藏文章的影子都看不到,跟该文章没有发布过一样,更别说点击文章进去看了。

言归正传,说说实现的方法。打开你主题目录下的 index.php 或者 category.php 等文章列表模板,查找类似代码:

 while (have_posts()) : the_post();

将其改成:

 	while (have_posts()) : the_post();
	   //屏蔽特定类型的文章
        if (get_field('_quanxian',get_the_ID()) == 1 && is_user_logged_in() == false){//登录后才显示的文章屏蔽掉
          continue;
        }else if(get_field('_quanxian',get_the_ID()) != 1 && get_field('_quanxian',get_the_ID()) > getUsreMemberType()) {//不符合用户所属用户组的文章屏蔽掉
          continue;
        }

关于getUsreMemberType()的值,需要结合你自己的主题关于用户组的区分设置,如果你不清楚如何设置,欢迎评论留言讨论!或咨询99882620!

该更改只针对首页,如果你想让所有归档页(分类页、标签页和日期页等)也对游客隐藏文章,可以照以上方法对主题目录下的archive.php进行更改,如果主题文件夹里还有category.php、tag.php、author.php、date.php和search.php,也对其更改!

主题修改完毕,核心功能已经实现!以后你要做的就是,如果你想让某篇文章对游客隐藏,可以在编写文章的时候,选择显示权限高级自定义字段(使用方法见下图),也可以使用系统自带的自定义域功能。这样该文章就对游客隐藏了!如果自定义字段没有添加,或者是其他值,文章将正常显示。

好了,赶快试试吧!

1:如非特殊说明,本站对提供的源码不拥有任何权利,其版权归原著者拥有。请在下载后24小时之内自觉删除。
2:该资源只为研究、学习所提供,任何涉及商业盈利目的均不得使用,若需要,请购买正版,否则产生的一切后果将由您自己承担,与本站无关!
3:本网站所有资源均为作者提供和网友推荐收集整理而来,不保证其完整性以及安全性。如有侵犯你版权的,请来信(邮箱:lwvip_com@qq.com)指出,本站将立即改正。
本文地址:老巫源码 » wordpress对特定用户组隐藏或显示部分文章,非隐藏部分内容

全屏

切换