WordPress隐藏分类以及文章但登陆后可见

WordPress隐藏分类以及文章但登陆后可见

有些用户希望可以将一些内容仅展示给网站的登录用户,这样,就可以配合邀请码进行收费了。这次wordpress教程分享的代码可以让访客在未登录的情况下,隐藏指定分类下的文章,而且未登录的用户访问文章url将返回404 。将以下代码添加至主题的functions.php中的<...

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

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

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

评论0

请先

赞助会员享海量VIP资源免费下载 自助开通
没有账号? 注册  忘记密码?