当前位置:首页>WordPress建站>用户交互>WordPress 只允许已登录的用户查看文章内容 [简码]

WordPress 只允许已登录的用户查看文章内容 [简码]

WordPress 主题 CoreNext

网站的注册用户是最有价值的访问者,这些人都是忠实的访客,我们应该奖励他们。其中一个奖励的措施,就是给注册用户分享最新的优质内容。也就是说,可以在某些文章中隐藏部分优质的内容,要求访问登录后才可以查看,这也是鼓励用户注册网站的方法之一。下面就来说说如何实现这个功能。

我们都知道,WordPress 有一个很棒的功能——简码(shortcode),我们可以利用简码来实现。关于简码,不熟悉的朋友可以先阅读《WordPress Shortcode(简码)介绍及使用详解》。

下面就是我们的代码示例,你可以添加到一个插件中,或者添加到主题的 functions.php:

/**
 * 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订阅中输出。

这样一来,我们可以在文章中使用简码添加内容:

[members_only]

这里的内容只为已登录的用户显示

[/members_only]

如果当前访问者没有登录,就显示“要查看文章内容,请先登录。”,反之,则显示添加的内容“这里的内容只为已登录的用户显示”。

需要注意的是,你必须确保上面的函数代码不要被删除,否则所有简码包含的内容都会直接显示出来哦!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
用户交互

WordPress 导出注册用户和评论用户的邮箱

2014-6-30 8:07:50

用户交互

强大的 WordPress 顶部公告条插件 DW PromoBar

2014-7-3 9:49:29

8 条回复 A文章作者 M管理员
  1. 大师傅

    怎么实现会员登录可见,需要用代码,不想用插件

    • 倡萌

      需要用代码就自己查看插件的代码即可

  2. 527912687

    这样每次都要手动每篇文章添加一次简码,不累吗?

  3. nicolle214

    本来还想着搞个什么权限之类的,这个更简单好用呢。。。赞一个。。。。

  4. hi
    博主 你好
    为什么我添加这部分代码到 主题的functions中去了也没有作用呢??

  5. 这个跟loginview是不是一样?

    • 差不多吧,longinview可以隐藏甚至整篇文章

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索