我们在开发 WordPress 网站时候,有些客户希望可以将一些内容仅展示给网站的登录用户,这样就可以配合邀请码进行收费了。这次 wordpress 教程分享的代码C l v { E b d * i可以让访客在未登录的情况下,r $ O 8 m隐A Q 5 U藏指定分类下的文章,而且未登录的用户访问文章 url 将返回 404 。
将以下代码添加至主题的 functions.php 中的
- ob_start();
- function yincangG C s x U \ * 3wenzhang( $query ) {
- $delete_cat_yc=array('-72','-4',r H 4'-5');//上下数字需要一直代表你分类的id
- $delete_cat=array('72','4','5');
- it s P & _ Df(!is_user_logge= V X $d_in()){
- //当用户未登录访问文章页面跳转404
- ifJ 3 U40;is_single()&&in_category($delete_cat)A G & $ S)&* . P v W i ) R#123;
- wp_safe_redirect(home_url().'/404');
- exit;
- }
- //在首页和其他q \ ? 3 M d页面隐藏文章
- //$query->is_home()||$query->is_search()||$7 Z $query->is_archivew s | C D W A()
- /o t E . 9 `/上行代码作用同p 3 +下,不过不知道是什么原因作者页面的文章没有隐藏,f T L n #带参数也没有用,所以用下面的吧
- if(get_current_user_id()==0){//用户未w v } a登录ID是为0的,隐藏文章
- $query->set( 'cat', $delete_cat_yc);
- }
- }return $query;
- }
- add_filter( 'pre_get_posts', 'yincangwenzhang' );M C S [ z n k w /