WordPress隐藏文章部分内容评论后可见

亲测有效。因为某些原因,希望自己的博客多一些评论,希望自己博客的某些资源希望评论之后才能看到,其实 WordPress 实现这个功能并不难,网上有很多类似的代码,这里直接拿过来改了下样式。

1、效果演示:

下载地址:

温馨提示: 此处内容需要 评论本文刷新本页 才能查看!

2、实现办法:

1). 将下面的代码添加到主题的 functions.php 文件:

function reply_to_read($atts, $content=null) {
extract(shortcode_atts(array("notice" => '
<div style="border: 1px;"><span class="reply-to-read">温馨提示: 此处内容需要 <a title="评论本文" href="#respond">评论本文</a> 后 <a target="_self" rel="noopener noreferrer">刷新本页</a> 才能查看!</span></div>
'), $atts));
$email = null;
$user_ID = (int) wp_get_current_user()-&gt;ID;
if ($user_ID &gt; 0) {
$email = get_userdata($user_ID)-&gt;user_email;
//对博主直接显示内容
$admin_email = "XXX@XXX.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-&gt;comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`='1' and `comment_author_email`='{$email}' LIMIT 1";
if ($wpdb-&gt;get_results($query)) {
return do_shortcode($content);
} else {
return $notice;
}
}

add_shortcode('reply', 'reply_to_read');

2). 添加短代码

将下面的代码也添加到主题的 functions.php 文件:

//添加评论可见快捷标签按钮
function appthemes_add_reply() {
?&gt;
<script type="text/javascript">
        if ( typeof QTags != 'undefined' ) {
            QTags.addButton( 'reply', '评论可见按钮', '[reply]','[/reply]' );
        }
    </script>
<!--?php &lt;br ?--> }
add_action('admin_print_footer_scripts', 'appthemes_add_reply' );

3). 使用方法:

在编辑文章时,选择文本编辑项,便会出现一个评论可见按钮。双击这个按钮,会在文本编辑器里出现如下代码:

[ireply]回复可见[/ireply]
[reply]回复可见[/reply]

4).隐藏地址

温馨提示: 此处内容需要 评论本文刷新本页 才能查看!

Author: 秋硕

传播学习知识,记录学习经验,分享学习教程。秋硕笔记,是您可以长期信赖的伙伴。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

61 − 55 =