虽然我极力反对已回复可见的形式来换取虚假的评论,但因为各种原因,比如版权,比如防止搜索引擎泄露等,不得不用上这个,下面介绍用代码来实现的功能。
1.将以下代码丢到模板函数 (functions.php)里面:

  1. /文章内容回复可见
  2.  function reply_to_read($atts, $content=null) {
  3.  extract(shortcode_atts(array("notice" => '<center><p class="reply-to-read"><b><span style="color: #ff0000;"><温馨提示:本处内容待您</span></b><a href="#respond" title="评论本文"><b>评论本文</b></a><b><span style="color: #ff0000;">后刷新即可查看,请谅解!>  </span></b></p><center>'), $atts));
  4.  $email = null;
  5.  $user_ID = (int) wp_get_current_user()->ID;
  6.  if ($user_ID > 0) {
  7.  $email = get_userdata($user_ID)->user_email;
  8.  //对博主直接显示内容   
  9.  $admin_email = "hczcy@qq.com"//<span style="color: #0000ff;">博主Email</span>  
  10.  if ($email == $admin_email) {
  11.  return $content;
  12.  }
  13.  } else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {
  14.  $email = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]);
  15.  } else {
  16.  return $notice;
  17.  }
  18.  if (empty($email)) {
  19.  return $notice;
  20.  }
  21.  global $wpdb;
  22.  $post_id = get_the_ID();
  23.  $query = "SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`='1' and `comment_author_email`='{$email}' LIMIT 1";
  24.  if ($wpdb->get_results($query)) {
  25.  return do_shortcode($content);
  26.  } else {
  27.  return $notice;
  28.  }
  29.  }
  30. add_shortcode('reply', 'reply_to_read');

使用方法:用【reply】这里是隐藏内容【/reply】 将【】替换成英文符号。
效果:
[reply]怎么样很简单吧?[reply]

标签: wordpress

相关文章推荐