华纳云香港服务器

YIA主题如何实现文章部分内容评论可见功能?

WordPress主题推荐

WordPress主题YIA默认是没有文章部分内容评论可见功能的,若想要该功能,需要另外购买TB-Member会员交易插件才行。不过我们可以自行添加代码实现评论可见功能,具体操作步骤如下:

1、登录WordPress后台 >> YIA主题设置 >> 自定义代码 >> 在“CSS代码”中添加以下CSS代码(或将代码添加到YIA主题的style.css文件中)。

.reply-read{margin:15px 0;border-radius:2px;border:1px solid #ddd}
.reply-read:after{content: "";display: block;clear: both;}
.reply-ts{float:left;width:75%}
.read-sm,.read-smx{padding:5px 15px;margin-bottom:-1px}
.read-sm{border-bottom:1px solid #ddd}
.read-pl{float:right;width:25%;height:74px;line-height:74px;text-align:center;border-left:1px solid #ddd}
.read-pl a{display:block;color:#555!important}
.read-pl a:hover{background:#26aae1;color:#fff!important}

2、打开yia文件夹内的functions.php文件,添加以下评论可见代码:

// 文章部分内容评论可见
// https://boke112.com/post/12157.html
function reply_read($atts, $content=null) {
    extract(shortcode_atts(array("notice" => '
    <div class="reply-read">
<div class="reply-ts">
    <div class="read-sm">此处为隐藏的内容!</div>
<div class="read-smx">发表评论并刷新,才能查看</div>
</div>
    <div class="read-pl"><a href="#respond">发表评论</a></div>
    </div>'), $atts));
    $email = null;
    $user_ID = (int) wp_get_current_user()->ID;
    if ($user_ID > 0) {
        $email = get_userdata($user_ID)->user_email;
if ( current_user_can('level_10') ) {
return '<div class="secret-password">'.do_shortcode( $content ).'</div>';
}
    } 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('<div class="secret-password">'.do_shortcode( $content ).'</div>');
    } else {
        return $notice;
    }
}
add_shortcode('reply', 'reply_read');

add_action('after_wp_tiny_mce', 'boke_after_wp_tiny_mce');
function boke_after_wp_tiny_mce($mce_settings) {
?>
<script type="text/javascript">
QTags.addButton( 'ygj_reply', '评论可见', '[reply]', '[/reply]');
</script>
<?php }

特别说明:如果你使用的YIA主题已经参考『YIA主题如何实现文章部分内容登录可见功能?』一文添加了登录可见功能,那么上述代码第38~44行代码不需要添加,只需要将42行代码添加到登录可见</script>代码的前面即可。

3、以后发布评论可见内容时,只需要进入WordPress后台正常编辑文章,点击切换到“文本”,将光标定位到需要隐藏的内容开头并点击【评论可见】按钮,然后将光标定位到需要隐藏的内容结尾并编辑【/评论可见】按钮。发布文章后还没有评论的时候看到的效果如下图所示:

YIA主题如何实现文章部分内容评论可见功能?-第1张-boke112百科(boke112.com)

点击【发表评论】按钮并发布评论后,刷新该页面即可看到隐藏的内容了(PS:若评论处于审核状态,则还是无法看到隐藏内容,需要评论内容审核通过的情况下才可以看到)。

如果想要修改这个评论可见的样式和内容,大家可自行修改第1步的CSS代码和第2步的代码。

本文地址:https://boke112.com/post/12157.html

赞 (5) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu