设置WordPress文章回复评论才可见内容

admin123 2020-3-7 4665

在论坛中经常会看到:”该帖子需要回复后才能看到”,“本链接需要回复才能下载”,“如果您要查看本帖隐藏内容请先回复”等。

这个功能假如能移植到wordpress是很羡慕的。

给Wordpress文章增加回复可见,既可防止采集党的肆意转载,保护原创;又可提高互动,增加留言,提高人气等。

1、在functions.php中添加下面的代码:

//文章内容回复可见
add_shortcode('reply', 'reply_to_read');
 
function reply_to_read($atts, $content=null) {
 extract(shortcode_atts(array("notice" => '<p>温馨提示:此处内容需要<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 = "*****@qq.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;
 }
}

其中,博主的EMail设置自己的,博主可以不用回复就可见。

2、代码使用方法

将需要隐藏的内容用[reply]包裹,编辑文章时,添加:

[ reply]你希望评论回复可见的内容[ /reply]

[ reply notice="自定义提醒回复内容"]自定义提醒回复内容[ /reply]


最新回复 (0)
全部楼主
返回