网站的注册用户是最有价值的访问者,这些人都是忠实的访客,我们应该奖励他们。其中一个奖励的措施,就是给注册用户分享最新的优质内容。也就是说,可以在某些文章中隐藏部分优质的内容,要求访问登录后才可以查看,这也是鼓励用户注册网站的方法之一。下面就来说说如何实现这个功能。
我们都知道,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 '要查看文章内容,请先登录。'; } |
在上面的代码中,我们注册了一个简码 [members_only] ,在简码的函数中,我们使用了 is_user_logged_in() 函数来判断当前访问者是否登录,同时使用 !empty( $content ) 确保内容不为空,使用 !is_feed() 排除在RSS订阅中输出。
这样一来,我们可以在文章中使用简码添加内容:
1 2 3 4 5 |
[members_only] 这里的内容只为已登录的用户显示 [/members_only] |
如果当前访问者没有登录,就显示“要查看文章内容,请先登录。”,反之,则显示添加的内容“这里的内容只为已登录的用户显示”。