現(xiàn)在WordPress已經(jīng)不僅僅是一個(gè)博客了,更多時(shí)候很多人都把WordPress當(dāng)功能強(qiáng)大的CMS使了,WordPress之所以越來越受歡迎,主要在于它強(qiáng)大的擴(kuò)展性以及良好的社區(qū)支持,看看我博客里的WordPress教程就知道了。今天,我將給你介紹一個(gè)新的WordPress擴(kuò)展功能,文章只允許特定用戶閱讀。如果你不喜歡此功能,可以忽略以下內(nèi)容!
WordPress本身也提供了相應(yīng)功能來實(shí)現(xiàn)這個(gè)目的,包括文章私有和文章加密等,但是這些功能都比較大一,如何限定授權(quán)用戶和文章的范圍呢?本文將給你介紹這方面的內(nèi)容。
一、某個(gè)分類/標(biāo)簽的文章只允許登陸用戶閱讀
網(wǎng)站的訪客最基本的可以分成兩類,一類是非注冊用戶,另一類是登陸用戶,很多論壇的就是這樣區(qū)分用戶,部分內(nèi)容只能登陸后查看,之前我寫了一個(gè)插件Login to view all來讓W(xué)ordPress來實(shí)現(xiàn)類似功能,但是只能對單篇文章起作用,如果想要實(shí)現(xiàn)某個(gè)分類/標(biāo)簽的文章只允許登陸用戶閱讀,可以用文本編輯器打開當(dāng)前主題目錄下的single.php,查找:the_content,可以找到類似代碼:the_content(...),(注:…表示未知內(nèi)容,不同主題不太一樣),將其改成:
這樣分類別名或名稱為 music 和 post 的分類下的文章內(nèi)容就只對登陸用戶開放了,游客將會看到提示"請登陸后閱讀本文!",如果你想再添加一個(gè)分類images,可以將 array( 'music', 'post' ) 改成 array( 'music', 'post', 'images' ),更多依次類推;如果只限定一個(gè)分類music可以寫成 in_category( 'music' ) 。如果是限定含有某些標(biāo)簽的文章只對登陸用戶開放,可以將以上代碼第一行改成:
music和news為標(biāo)簽的名稱或別名,多個(gè)標(biāo)簽的寫法跟分類相同!
二、某個(gè)分類/標(biāo)簽的文章只允許特定角色的注冊用戶閱讀
WordPress站點(diǎn)的注冊用戶還可以分三六九等,包括訂閱者、投稿者、管理員等等,對于已經(jīng)登陸的注冊用戶,同樣可以根據(jù)用戶的角色來決定是否有權(quán)閱讀文章,在第一部分內(nèi)容的基礎(chǔ)上再加個(gè)限制條件就可以了,將第一部分代碼的第 2 行改成:
這樣等級小于 3 的注冊用戶將無權(quán)閱讀分類music和news下的文章,文章標(biāo)簽的限定類似,詳見第一部分的說明。WordPress注冊用戶的等級參見以下說明:
三、某個(gè)分類/標(biāo)簽的文章只允許知道密碼的用戶閱讀
如果你想給某個(gè)分類或標(biāo)簽下的文章全部添加密碼,只有知道密碼的用戶才能閱讀這些文章,你可以使用我寫的WordPress插件:Post Encryption And Decryption,或者看這篇教程操作:WordPress加密某個(gè)分類的所有文章
補(bǔ)充說明:
按照以上各方法修改后,搜索將無法收錄這些文章,如果你希望搜索引擎收錄這些文章同時(shí)又限定用戶范圍,可以再添加一個(gè)限定條件,將第一部分代碼的第 2 行改成:
限制標(biāo)簽、用戶等級等的修改方式一樣!另外,如果你的Feed是全文輸出的話,其他用戶還是可以通過訂閱看到相關(guān)的內(nèi)容的!最后一點(diǎn),以上所做的修改不是完全隱藏文章,所有用戶都可以看到文章的標(biāo)題,如果你想讓未授權(quán)的用戶連標(biāo)題都看不到,請自行解決,或者可以參考下文:WordPress技巧: 對游客隱藏部分文章