wordpress设置关键内容回复而不需要审核即可见

做源码、内容分享的网站,多少会涉及到不想让访客轻易查看文章关键内容的情况,所以登录可见、回复可见等套路就出来了,这样也能增加访客对自己网站的黏性。目前市面上但凡是付费甚至是有些免费的wp主题都自带这些功能,博主只需要简单插入一行短代码即可实现。短代码玩的飞起的时候,却忽视了一个问题:

回复可见的评论需要网站管理员审核才能可见,这应该是就是逻辑上的bug,哪个访客愿意等管理员来审核呢?等了半天也不见审核通过,这是增加黏性还是增加厌恶?哪个管理员天天趴电脑前等着访客评论?

将下面这段代码放入wp主题的functions.php文件末尾,或者主题集成了短代码功能,找到主题自带的短代码文件,主题如果写的规范,一般会放在includes/shortcodes/shortcodes.php中,你会看到和下面相似的代码,找到如下代码第十四段,删除and `comment_approved`='1',或者把下面的第十四段代码替换掉原文件对应行的代码。即可完美实现wordpress回复但无需审核即可见功能。

 function reply_to_read($atts, $content=null) {
  extract(shortcode_atts(array("notice" => '<p class="reply-to-read">温馨提示: 此处内容需要<a href="#respond" title="评论本文">评论本文</a>后才能查看.</p>'), $atts));
  $email = null;
  $user_ID = (int) wp_get_current_user()->ID;
  if ($user_ID > 0) {
    $email = get_userdata($user_ID)->user_email;
    //对博主直接显示内容
    $admin_email = "[email protected]"; //博主 Email
    if ($email == $admin_email) {
      return $content; }
    } else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {
      $email = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]);
    } else { return $notice;
    }
  if (empty($email)) {
      return $notice;
    }
  global $wpdb;
  $post_id = get_the_ID();
  $query = "SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_author_email`='{$email}' LIMIT 1";
  if ($wpdb->get_results($query)) {
      return do_shortcode($content);
  } else {
      return $notice;
  }
}
add_shortcode('reply', 'reply_to_read');

 

本文系作者 @ 原创发布在 懵比小站。未经许可,禁止转载。

喜欢()
评论 (0)
热门搜索
homeagain
分享互联网最新资讯,分布各类教程:苹果cms、vps推荐、宝塔建站知识、edu邮箱、wordpress模板下载……只有你想不到,没有出不了的教程。
230 文章
162 评论
62 喜欢
Top