首页 > wordpress相关 > WordPress博客中实现评论后可见功能
2012
12-07

WordPress博客中实现评论后可见功能

 

这篇文章的方法是在远方的雪山的博客(http://salonglong.com/)中看到的,首先感谢他的分享。

 

相信大家逛论坛的时候,看到好的资源的时候,都会碰到“该帖子需要回复后才能查看”的字样,虽然对于访客来说,很麻烦,但是对文章的seo有很大帮助,也可以避免让好文章沉入海底,今天就介绍下,如何在WordPress中实现这个功能,适用于分享独一无二的资源的时候。

 

一、首先将下面给的代码,加到你的主题的 functions.php 中:

 

//短代码之评论可见   
function reply_to_read($  atts, $  content=null) {   
extract(shortcode_atts(array("notice" => '<p class="reply-to-read"><span style="color:red;">温馨提示:</span>此处内容需要<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 = "***@gmail.com"; //博主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_approved`='1' 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');   

 

二、然后就是短代码部分(把下面两段代码中的“{}”大括号都改成“[]”中括号),编写文章时插入:

 

{reply}评论可见的内容{/reply}  

 

三、提醒内容也可以自定义,代码如下:

 

{reply notice="自定义提醒回复内容"}自定义提醒回复内容{/reply}  

 

四、附上我自己博客中的css样式,添加到主题下的style.css中:

 

.reply-to-read{
  background: #F4F7F7;
  color: #528294;
  font-family: Georgia, Times New Roman, Trebuchet MS;
  font-size: 16px;
  font-style: italic;
  margin: 0 15px 15px;
  padding: 15px 20px 0;
  line-height: 26px;
  text-shadow: white 1px 1px;
}

 

备注:转载请注明来自静湖一筑