WordPress 只允許游客瀏覽指定分類的文章

知更鳥
知更鳥
知更鳥
1515
文章
6913
評論
2020年3月24日09:47:15 7 256

有童鞋問,如何實現未登錄用戶只能瀏覽指定的分類文章,這里提供一下方法。

WordPress 只允許游客瀏覽指定分類的文章

只允許游客瀏覽指定分類的文章

網上可以找到類似的代碼:

//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中。

繼續閱讀
weinxin
關于本站
分享交流WordPress經驗與技巧,關注前端設計與網站制作。僅用于功能演示。
知更鳥
盜版主題很可怕! WordPress

盜版主題很可怕!

主題森林相信國內 WordPress 用戶都很熟習,來自該網站的收費主題在國內盜版橫行,一些無良者對主題進行所謂優化、漢化后直接出售,更有甚者居然還有冒充國內代理的。主題森林大部分主題并不像國內主題需...
限制 WordPress 部分用戶角色進入后臺 WordPress

限制 WordPress 部分用戶角色進入后臺

有時我們想限制WordPress 部分用戶角色訪問后臺,可以通過下面的代碼實現。 限制 WordPress 部分用戶角色進入后臺 一、只允許管理員、編輯和作者角色訪問后臺 將下面代碼添加到當前主題函數...
匿名

發表評論

匿名網友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

評論:7   其中:訪客  5   博主  2
    • MaxhyTV MaxhyTV 0

      感謝,剛好需要!

      • 毛毛 毛毛 1

        太好了,感謝分享,請問如何反選呢?就是只有訪問這個分類就跳轉登錄

          • 知更鳥 知更鳥

            @ 毛毛 把判斷分類函數前面的感嘆號去掉

              • 毛毛 毛毛 1

                @ 知更鳥 簡直完美,萬分的感謝。。。

            • 三生石托管 三生石托管 2

              當游客點擊“只允許游客瀏覽的指定分類或文章”時,顯示類似“請先登錄以查看”的提示或頁面,然后讓游客自己選擇是登錄還是不登錄。如游客點擊登錄,則前往登錄頁面。如游客不登錄,則返回上一次瀏覽的頁面。是不是有更好的用戶體驗。

              • 波克城市 波克城市 2

                這個功能很實用啊,收藏了