1 比较普通的CSS的代码
在主题的function.php中加入以下代码:
function reply_to_read($atts, $content=null) {
extract(shortcode_atts(array("notice" => '<p class="reply-to-read" style="border-width: 1px 1px 1px 1px;border-color: #F2F2F2;line-height: 150%;"><blockquote><font color="#ff0000"><b>温馨提示</b></font>: 隐藏内容需要<a href="#respond" title="点击进行评论"> 回复评论 </a>后才能查看, 评论后请 <strong><a href="javascript:location.reload()" title="点击刷新"> 刷新 !</a></strong>.</blockquote></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 = "xxxxxxx@xx.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');
2 增加了红点边框的CSS的代码
在主题的function.php中加入以下代码:
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 = "xxxxxxx@xx.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');
3 修改CSS样式
大家可以根据自己的需要修改上述代码extract语句中css自己定制化的css样式。
样式示例:
4 使用方法
5 注意的点
如果站点在后台设置了评论审核,那么游客评论之后需要站点管理员审核评论通过之后刷新页面才会看到隐藏内容,所以如果要使用该功能建议关闭评论审核功能。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:WordPress – 为文章增加评论才可查看相关隐藏内容的代码
原文链接:https://www.stubbornhuang.com/811/
发布于:2020年05月05日 19:19:34
修改于:2023年06月26日 22:25:01
当前分类随机文章推荐
- WordPress - WordPress升级5.8之后获取最新评论的代码失效问题解决 阅读1805次,点赞0次
- WordPress - 查看别人的网站是用的WordPress的哪个主题 阅读3377次,点赞0次
- WordPress - 获取每年发表的文章数量 阅读487次,点赞0次
- WordPress - 网站加载自定义字体的最佳方式 阅读169次,点赞1次
- WordPress - 下载安装插件失败,无法创建目录 阅读5108次,点赞0次
- WordPress - 为文章增加评论才可查看相关隐藏内容的代码 阅读2828次,点赞3次
- WordPress - 优化Google Adsense广告js的加载速度 阅读159次,点赞0次
- WordPress - wp_login_url函数详解 阅读2838次,点赞0次
- WordPress - 异步发送邮件,解决发送邮件阻塞耗时的问题 阅读502次,点赞0次
- WordPress - 发送邮件很慢的解决办法 阅读836次,点赞1次
全站随机文章推荐
- 计算几何 - 二维几何变换,二维平移、旋转、缩放、仿射变换 阅读183次,点赞0次
- Python - 使用代码判断当前Python版本号 阅读658次,点赞0次
- 资源分享 - Non-Photorealistic Computer Graphics - Modeling, Rendering, and Animation 英文高清PDF下载 阅读2206次,点赞0次
- 资源分享 - 3D Math Primer for Graphics and Game Development (Second Edition) 英文高清PDF下载 阅读2917次,点赞1次
- C++ – 字节数组byte[]或者unsigned char[]与short的相互转换 阅读1703次,点赞0次
- 资源分享 - Introduction to 3D Game Programming with DirectX 12 英文高清PDF下载 阅读3841次,点赞1次
- Python - 使用命令行调用ffmpeg修改视频帧率,将60FPS的视频修改为30FPS的视频,视频时间保持不变 阅读1058次,点赞0次
- C++ - Windows/Linux跨平台获取本机CPU核心数 阅读490次,点赞0次
- OpenCV - OpenCV打开摄像头显示摄像头帧率 阅读311次,点赞0次
- C++ - int转string方法总结 阅读6978次,点赞0次
评论
169