远方的海
远方的海,WordPress,免费
2014 Sep 16 03 : 12

WordPress 设置隐藏内容回复后可见

您当前的位置: 首页 > WordPress > 正文
欢迎光临远方的海!您可能还对 WordPress建站免费资源最新IT动态 感兴趣,点击开启 悦读 模式。CTRL+D 快捷收藏本文,我们期待您再次光临!

我们经常在各种论坛上看到“回复后可见隐藏内容”的字样,这样既保证了帖子能让更多人看到,也可以防止贴文被恶意转载。那么在WordPress上如何实现这样效果呢?一起来看看吧。
还是建议大家少用这样的功能。

使用方法,调用短代码。

[reply]这里是要回复后可见的内容[/reply]

在functions.php中插入如下代码:请注意修改其中的Email地址哦!

  1. function reply_to_read($atts,$content=null){
  2. extract(shortcode_atts(array(“notice”=>'<span class=“reply-to-read”>此处内容需要<a href=“‘. get_permalink().’#respond” title=“评论本文”>评论本文</a>后<a href=“javascript:window.location.reload();” title=“刷新”>刷新本页</a>才能查看.</span>’),$atts));
  3. $email=null;
  4. $user_ID=(int)wp_get_current_user()->ID;
  5. if($user_ID>0){
  6. $email = get_userdata($user_ID)->user_email; //如果用户已登录,从登录信息中获取email
  7. }else if(isset($_COOKIE[‘comment_author_email_’.COOKIEHASH])){
  8. $email=str_replace(‘%40′,’@’,$_COOKIE[‘comment_author_email_’.COOKIEHASH]); //如果用户未登录但电脑上有本站的Cookie信息,从Cookie里读取email
  9. }else{
  10. return $notice//无法获取email,直接返回提示信息
  11. }
  12. if(emptyempty($email)){
  13. return $notice;
  14. }
  15. global $wpdb;
  16. $post_id=get_the_ID(); //文章的ID
  17. $query=“SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`=’1′ and `comment_author_email`='{$email}’ LIMIT 1”;
  18. if($wpdb->get_results($query)){
  19. return $content//查询到对应的已经审核通过的评论则返回内容
  20. }else{
  21. return $notice//否则返回提示信息
  22. }
  23. }
  24. add_shortcode(‘reply’, ‘reply_to_read’);

原文来自Wordpress吧,@PC丶爱好者

好文!分享给朋友,或者点个赞吧~

文章信息

分类:WordPress

您可能也会喜欢

发表回复

Post Comment


  1. 超級efly :

    前來支持一下~感覺對用戶體驗不太好… :o

    2014-9-16
    • 远方的海水神 :

      是的!而且可能会对搜索引擎不友好

      2014-9-16