網站的註冊用戶是最有價值的訪問者,這些人都是忠實的訪客,我們應該獎勵他們。其中一個獎勵的措施,就是給註冊用戶分享最新的優質內容。也就是說,可以在某些文章中隱藏部分優質的內容,要求訪問登錄後才可以查看,這也是鼓勵用戶註冊網站的方法之一。下面就來說說如何實現這個功能。
我們都知道,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]
如果當前訪問者沒有登錄,就顯示“要查看文章內容,請先登錄。”,反之,則顯示添加的內容“這裡的內容隻為已登錄的用戶顯示”。
需要註意的是,你必須確保上面的函數代碼不要被刪除,否則所有簡碼包含的內容都會直接顯示出來哦!