説到隱藏部分文章內容,這種做法常見於論壇,在 WordPress 博客程序中用得其實並不廣泛。當然,這也與兩者的用户羣體以及定位不同;論壇經常設置部分內容隱藏、內容登陸、回覆可見等限制,主要是為了吸引用户註冊,而對於 WordPress 博主而言,這個目的並不是很強烈,所以對這個功能的需求也相對小很多。但是,隨着 WordPress 的盛行,使用 WordPress 建站的類型以及用途越來越多元化,而 WordPress 本帖隱藏的內容需要回復才可以瀏覽等這些功能也能起到一定的作用,下面就分享下 2 種簡單的方法來實現這個功能!

20151121094244

一、通過修改代碼實現

個人覺得 WordPress 插件來實現是很簡單方法,但是大家都知道 WordPress 插件安裝過多的話,不僅會影響網站的整體訪問速度,同時網絡上的免費 WordPress 插件安全性也有待考量,如果你不患有代碼恐懼症,還是自己倒騰吧,其實操作起來也很簡單!只需要將以下隱藏內容回覆可見代碼加入到當前使用的主題的 functions.php 文件裏即可。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

////回覆可見/////

functionreply($content){  

    if(preg_match_all('/<!--reply start-->([sS]*?)<!--reply end-->/i',$content,$hide_words)){  

    $stats='hide';  

    global$current_user;  

    get_currentuserinfo();  

    if($current_user->ID){  

        $email=$current_user->user_email;  

    }elseif(isset($_COOKIE['comment_author_email_'.COOKIEHASH])){  

        $email=$_COOKIE['comment_author_email_'.COOKIEHASH];  

    }  

    $ereg="^[_.a-z0-9]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,5}$";  

    if(eregi($ereg,$email)){  

        global$wpdb;  

        global$id;  

        $comments=$wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_author_email = '".$email."' and comment_post_id='".$id."'and comment_approved = '1'");  

        if($comments){  

            $stats='show';  

        }  

    }  

    $admin_email="admin@admin.com";//博主 Email, 博主直接查看  

    if($email==$admin_email){  

        $stats='show';  

        }  

        $hide_notice='<div style="text-align:center;border:1px dashed #FF9A9A;padding:8px;margin:10px auto;color:#FF6666;"> 温馨提示:此處內容需要<a href="http://'/spanspan./spanspanget_permalink/spanspan(/spanspan)/spanspan./spanspan'#respond" title="評論本文"> 評論本文</a> 後,<a href="" title="刷新"> 刷新本頁</a> 才能查看。</div>';  

        if($stats=='show'){  

            $content=str_replace($hide_words[0],$hide_words[1],$content);  

        }else{  

            $content=str_replace($hide_words[0],$hide_notice,$content);  

        }  

    }  

    return$content;  

}  

add_filter('the_content','reply');

然後打開你的 WordPress 後台——外觀——編輯,找到右側的 funtion.php——點擊打開,然後把上面的代碼黏貼到 function.php 的最後——點擊更新

在發表博文,在你想要隱藏的某部分內容中加入

<!--reply start--> 隱藏內容<!--reply end--> 【需要你使用代碼模式中輸入】

PS:(1) 請將管理員的 E-mail 改成自己管理賬户的 E-mail,這樣你可以不用回覆就可見。

(2) 另外,目前 BUG 是,使用多説等評論插件無效,只支持主題內置留言。

二、通過 WordPress 插件實現

(1) 效果預覽

其實隱藏部分內容還是挺簡單的!

(2) 安裝方法:

1. 直接在 WordPress 後台插件搜索安裝 「login to view all」 或者去 WordPress 官網下載插件,解壓縮,你將會看到一個文件夾 login-to-view-all,然後將其放置到插件目錄下,插件目錄通常是 /wp-content/plugins/
2. 在後台對應的插件管理頁激活該插件 Login to view all
4. 完成

(3) 使用説明:

1. 在 WordPress 後台編輯文章的時候,切換到 HTML 模式,選中你要隱藏的內容,點擊按鈕 loginview 即可用

<!--loginview start--> 隱藏內容<!--loginview end-->

將隱藏內容括起來;使用這個標籤的好處是,你停用本插件後,該標籤不會被顯示出來。

2. 這樣未登錄的用户瀏覽文章的時候,將無法閲讀隱藏的內容。