wordpress设置关键内容回复而不需要审核即可见-懵比小站
wordpress设置关键内容回复而不需要审核即可见

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 = "admin@mebi.me"; //博主 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');

 

本文由 懵比小站 作者:homeagain 发表,其版权均为 懵比小站 所有,文章内容系作者个人观点,不代表 懵比小站 对观点赞同或支持。如需转载,请注明文章来源。

发表评论