這次wordpress教程分享的代碼可以讓訪客在未登錄的情況下,隱藏指定分類下的文章,而且未登錄的用戶訪問(wèn)文章url將返回404
有些用戶希望可以將一些內(nèi)容僅展示給網(wǎng)站的登錄用戶,這樣,就可以配合邀請(qǐng)碼進(jìn)行收費(fèi)了。這次wordpress教程分享的代碼可以讓訪客在未登錄的情況下,隱藏指定分類下的文章,而且未登錄的用戶訪問(wèn)文章url將返回404 。
- 源碼來(lái)源:詳情
將以下代碼添加至主題的functions.php
中的<?php
下即可:
ob_start();
function yincangwenzhang( $query ) {
$delete_cat_yc=array('-72','-4','-5');//上下數(shù)字需要一直代表你分類的id
$delete_cat=array('72','4','5');
if(!is_user_logged_in()){
//當(dāng)用戶未登錄訪問(wèn)文章頁(yè)面跳轉(zhuǎn)404
if(is_single()&&in_category($delete_cat)){
wp_safe_redirect(home_url().'/404');
exit;
}
//在首頁(yè)和其他頁(yè)面隱藏文章
//$query->is_home()||$query->is_search()||$query->is_archive()
//上行代碼作用同下,不過(guò)不知道是什么原因作者頁(yè)面的文章沒(méi)有隱藏,帶參數(shù)也沒(méi)有用,所以用下面的吧
if(get_current_user_id()==0){//用戶未登錄ID是為0的,隱藏文章
$query->set( 'cat', $delete_cat_yc);
}
}return $query;
}
add_filter( 'pre_get_posts', 'yincangwenzhang' );
提示:get_current_user_id();函數(shù)就是獲取用戶的ID