隐藏分类以及文章只对登录用户可见

我们在开发 WordPress 网站时候,有些客户希望可以将一些内容仅展示给网站的登录用户,这样就可以配合邀请码进行收费了。这次 wordpress 教程分享的代码可以让访客在未登录的情况下,隐藏指定分类下的文章,而且未登录的用户访问文章 url 将返回 404 。

将以下代码添加至主题的 functions.php 中的 < ? php 下即可:

  1. ob_start();
  2. function yincangwenzhang( $query ) {
  3. $delete_cat_yc=array('-72','-4','-5');//上下数字需要一直代表你分类的id
  4. $delete_cat=array('72','4','5');
  5. if(!is_user_logged_in()){
  6. //当用户未登录访问文章页面跳转404
  7. if(is_single()&&in_category($delete_cat)){
  8. wp_safe_redirect(home_url().'/404');
  9. exit;
  10. }
  11. //在首页和其他页面隐藏文章
  12. //$query->is_home()||$query->is_search()||$query->is_archive()
  13. //上行代码作用同下,不过不知道是什么原因作者页面的文章没有隐藏,带参数也没有用,所以用下面的吧
  14. if(get_current_user_id()==0){//用户未登录ID是为0的,隐藏文章
  15. $query->set( 'cat', $delete_cat_yc);
  16. }
  17. }return $query;
  18. }
  19. add_filter( 'pre_get_posts', 'yincangwenzhang' );

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress B2主题批量修改下载权限的办法

2022-1-17 12:12:08

WordPress教程

纯代码实现WordPress自动获取网站截图

2022-3-21 15:53:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索