WordPress 只允许游客浏览指定分类的文章

知更鸟 2020年3月24日09:47:15WordPress121.8K阅读模式

有童鞋问,如何实现未登录用户只能浏览指定的分类文章,这里提供一下方法。文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

WordPress 只允许游客浏览指定分类的文章

只允许游客浏览指定分类的文章

文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

网上可以找到类似的代码:文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

//template_redirect动作钩子是一定会执行的,所以用这个钩子对全站有效
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
	//判断登录,about页面就允许访问
	if( !is_page('about') && !is_user_logged_in() ){
		auth_redirect(); //跳转到登录页面
		exit();
	}
}

代码源自:www.ashuwp.com文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

原代码只允许未登录者访问指定的页面或者直接跳转到登录。文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

简单改一下,加个判断in_category,只允许访问指定分类的归档页面和文章。文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

// 首页和指定分类文章可以访问
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
	//判断登录,只允许访问ID为3和2的分类文章
	if( !in_category( array( 3,2 ) ) && !is_home() && !is_user_logged_in() ){
		auth_redirect(); //跳转到登录页面
		exit();
	}
}

默认未登录者只允许访问网站首页和分类id为3和2的分类归档页面和文章,否则跳转到登录页面。文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

!in_category 前面的感叹号去掉改成 in_category,则正好相反,访问分类ID为3和2的分类文章跳转到登录,其它文章可以正常访问。文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

代码添加到主题函数模板functions.php中。文章源自知更鸟-https://zmingcx.com/wordpress-only-allows-viewing-of-specific-posts.html

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
用小工具创建 WordPress 超级菜单 WordPress

用小工具创建 WordPress 超级菜单

所谓的超级菜单,就是有别于正常样式简单的 WordPress 菜单,添加更加丰富的自定义内容,在WordPress后台安装插件页面搜索”mega menu“,会找到一堆相关的插件。 为了让菜单样式有变...
在 WordPress 后台直接复制文章 WordPress

在 WordPress 后台直接复制文章

在 WordPress 后台文章列表中,如果能直接复制一篇文章或页面,然后重新编辑后发表,是不是很方便。那为什么不全选复制文章内容,然后粘贴到新建文章中呢?这是因为这样做仅复制了文章内容,并未同时把原...
评论  12  访客  10  作者  2
    • MaxhyTV
      MaxhyTV 1

      感谢,刚好需要!

      • 毛毛
        毛毛 1

        太好了,感谢分享,请问如何反选呢?就是只有访问这个分类就跳转登录

          • 知更鸟
            知更鸟

            @ 毛毛 把判断分类函数前面的感叹号去掉

              • 毛毛
                毛毛 1

                @ 知更鸟 简直完美,万分的感谢。。。

            • 三生石托管
              三生石托管 2

              当游客点击“只允许游客浏览的指定分类或文章”时,显示类似“请先登录以查看”的提示或页面,然后让游客自己选择是登录还是不登录。如游客点击登录,则前往登录页面。如游客不登录,则返回上一次浏览的页面。是不是有更好的用户体验。

              • 波克城市
                波克城市 2

                这个功能很实用啊,收藏了

                • 莫斯科
                  莫斯科 3

                  大佬,有没有 在文章内容处 加短代码 实现不同分组权限 看到不同内容的插件?

                  • 源码网
                    源码网 0

                    感觉好简单的样子···· 试试看

                    • 紫色云
                      紫色云 1

                      很实用,收藏了。

                      • 不负此生
                        不负此生 1

                        学到了。

                        • 征征
                          征征 0

                          需要登录才能访问的分类里面包含哪一年的文章,就会导致这一年份的站点地图也需要登录才能打开,所以搜索引擎就无法解析这一条站点地图

                        匿名

                        发表评论

                        匿名网友 填写信息

                        :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                        确定