WordPress网站实现评论后可见隐藏部分内容功能(纯代码实现wp评论可见功能)

在很多网站上都看过这个效果,比如说知己知彼网站,他的部分资源是需要我们评论后才能下载的,那么这个到底有什么用呢,对我而言,除了拿来装逼,还可以增加我的评论数量,不多说,先看看效果:

其实WordPress有很多的插件可以实现这个功能,比如说Easy2Hide,但是插件当然是越少越好,下面我就来说说怎么用代码实现这个功能:

实现代码:

function reply_to_read($atts, $content=null) {
extract(shortcode_atts(array(“notice” => ‘<p class=”reply-to-read” style=”text-align:center; border:2px solid #f00; border-style:dotted; border-radius:4px; padding:5px; margin:10px;”><strong style=”color: red;”>温馨提示:</strong>为了避免资源链接被和谐,此处内容需要您<strong><a href=”#respond” title=”点击进行评论”> 回复评论 </a></strong>后才能查看, 评论后请 <strong><a href=”javascript:location.reload()” title=”点击刷新”> 刷新!</a></strong></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_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’);

使用说明:

1、在当前主题的functions.php文件添加上述代码;

2、把代码中的“[email protected]”我的邮箱换成博主自己的邮箱地址;

3、编辑文章时调用

温馨提示:为了避免资源链接被和谐,此处内容需要您 回复评论 后才能查看, 评论后请 刷新!

语句将要评论显示的内容放在中间,如:

温馨提示:为了避免资源链接被和谐,此处内容需要您 回复评论 后才能查看, 评论后请 刷新!

,即可实现评论后显示隐藏内容。

ps:如果开通了评论审核,那么内容需要博主评论审核通过后才可以看见!

原创文章:《WordPress网站实现评论后可见隐藏部分内容功能(纯代码实现wp评论可见功能)》,作者:林云SEO,如若转载,请注明原文及出处:https://www.tang-seo.com/1563.html

发表评论

登录后才能评论

评论列表(3条)