有童鞋问,如何实现未登录用户只能浏览指定的分类文章,这里提供一下方法。
网上可以找到类似的代码:
//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
原代码只允许未登录者访问指定的页面或者直接跳转到登录。
简单改一下,加个判断in_category
,只允许访问指定分类的归档页面和文章。
// 首页和指定分类文章可以访问 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的分类归档页面和文章,否则跳转到登录页面。
把 !in_category 前面的感叹号去掉改成 in_category,则正好相反,访问分类ID为3和2的分类文章跳转到登录,其它文章可以正常访问。
代码添加到主题函数模板functions.php中。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
湖北省武汉市 1F
感谢,刚好需要!
江苏省苏州市 2F
太好了,感谢分享,请问如何反选呢?就是只有访问这个分类就跳转登录
中国 B1
@ 毛毛 把判断分类函数前面的感叹号去掉
江苏省苏州市 B2
@ 知更鸟 简直完美,万分的感谢。。。
江苏省苏州市 3F
当游客点击“只允许游客浏览的指定分类或文章”时,显示类似“请先登录以查看”的提示或页面,然后让游客自己选择是登录还是不登录。如游客点击登录,则前往登录页面。如游客不登录,则返回上一次浏览的页面。是不是有更好的用户体验。
中国 B1
@ 三生石托管 对于一个懂得开发的,有了上面的基本代码,什么都皆有可能
江苏省苏州市 4F
这个功能很实用啊,收藏了
陕西省西安市 5F
大佬,有没有 在文章内容处 加短代码 实现不同分组权限 看到不同内容的插件?
陕西省西安市 6F
感觉好简单的样子···· 试试看
上海市 7F
很实用,收藏了。
上海市 8F
学到了。
山东省枣庄市 9F
需要登录才能访问的分类里面包含哪一年的文章,就会导致这一年份的站点地图也需要登录才能打开,所以搜索引擎就无法解析这一条站点地图
四川省 10F
有没有直接指定单独文章游客不能访问,游客直接访问指定文章链接404页面,而且在首页不会显示,只有登陆了才能正常访问和在首页正常显示的方法
add_action( ‘template_redirect’, ‘ashuwp_show_only_login’, 0 );
function ashuwp_show_only_login(){
//判断登录,不允许游客访问分类ID为1和2的文章
if( in_category( array( 1,2 ) ) && !is_home() && !is_user_logged_in() ){
global $wp_query;
$wp_query->set_404();
status_header(404);
nocache_headers();
include( get_query_template( ‘404’ ) );
die();
exit();
}
}
我这个方法只能分类ID游客不能访问,但是无法在首页不显示文章链接,这个还是基于鸟哥的代码改的
中国 B1
@ 虚心学习 首页排除分类
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( \'cat\', \'-1, -2, -3\' );
}
return $query;
}
add_filter( \'pre_get_posts\', \'exclude_category_home\' );
四川省 B2
@ 知更鸟 可以改成指定文章ID吗(不排除分类),虽然我已经用ChatGPT给我写出来了,还增加了搜索引擎判定,哈哈,指定文章游客无法访问,访问404,搜索引擎访问正常,登陆用户访问和查看都正常,ChatGPT真强