WordPress 隻允許已登錄的用戶查看文章內容 [簡碼]

網站的註冊用戶是最有價值的訪問者,這些人都是忠實的訪客,我們應該獎勵他們。其中一個獎勵的措施,就是給註冊用戶分享最新的優質內容。也就是說,可以在某些文章中隱藏部分優質的內容,要求訪問登錄後才可以查看,這也是鼓勵用戶註冊網站的方法之一。下面就來說說如何實現這個功能。

我們都知道,WordPress 有一個很棒的功能——簡碼(shortcode),我們可以利用簡碼來實現。關於簡碼,不熟悉的朋友可以先閱讀《WordPress Shortcode(簡碼)介紹及使用詳解》。

下面就是我們的代碼示例,你可以添加到一個外掛中,或者添加到主題的 functions.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * WordPress 隻允許已登錄的用戶查看文章內容
 * https://www.wpdaxue.com/registered-content-shortcodes.html
 */
add_shortcode( 'members_only', 'members_only_shortcode' );
function members_only_shortcode( $atts, $content = null ) 
{
    if ( is_user_logged_in() && !empty( $content ) && !is_feed() )
    {
        return $content;
    }
 
    return '要查看文章內容,請先登錄。';
}

/**
* WordPress 隻允許已登錄的用戶查看文章內容
* https://www.wpdaxue.com/registered-content-shortcodes.html
*/
add_shortcode( ‘members_only’, ‘members_only_shortcode’ );
function members_only_shortcode( $atts, $content = null )
{
if ( is_user_logged_in() && !empty( $content ) && !is_feed() )
{
return $content;
}
return ‘要查看文章內容,請先登錄。’;
}

在上面的代碼中,我們註冊瞭一個簡碼 [members_only] ,在簡碼的函數中,我們使用瞭 is_user_logged_in() 函數來判斷當前訪問者是否登錄,同時使用 !empty( $content ) 確保內容不為空,使用 !is_feed() 排除在RSS訂閱中輸出。

這樣一來,我們可以在文章中使用簡碼添加內容:

1
2
3
4
5
[members_only]
 
這裡的內容隻為已登錄的用戶顯示
 
[/members_only]

[members_only] 這裡的內容隻為已登錄的用戶顯示 [/members_only]

如果當前訪問者沒有登錄,就顯示“要查看文章內容,請先登錄。”,反之,則顯示添加的內容“這裡的內容隻為已登錄的用戶顯示”。

需要註意的是,你必須確保上面的函數代碼不要被刪除,否則所有簡碼包含的內容都會直接顯示出來哦!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *