wordpress代码实现内容回复可见功能

1. 在functions.php中加入下列代码:

// 部分内容评论可见
// 使用方法:<!--hide start{reply_to_this=true}-->隐藏内容<!--hide end-->
add_filter('the_content', 'hide');
add_filter('comment_text','hide');
function hide($content) {
    if (preg_match_all('/<!--hide start{?([\s\S]*?)}?-->([\s\S]*?)<!--hide end-->/i', $content, $matches)) {
        $params = $matches[1][0];
        $defaults = array('reply_to_this' => 'false');
        $params = wp_parse_args($params, $defaults);
        $stats = 'hide';
 
        if ($params['reply_to_this'] == 'true') {
            global $current_user;
            get_currentuserinfo();
 
            if ($current_user->ID) {
                $email = $current_user->user_email;
            } else if (isset($_COOKIE['comment_author_email_'.COOKIEHASH])) {
                $email = $_COOKIE['comment_author_email_'.COOKIEHASH];
            }
 
            $ereg = "^[_\.a-z0-9]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,5}$";
            if (eregi($ereg, $email)) {
                global $wpdb;
                global $id;
                $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_author_email = '".$email."' and comment_post_id='".$id."'and comment_approved = '1'");
                if ($comments) {
                    $stats = 'show';
                }
            }
            $tip = __('<span class="vihide">抱歉,隐藏内容 <a href="#comments">回复</a> 后刷新可见</span>', 'hide');
        } else {
            if (isset($_COOKIE['comment_author_'.COOKIEHASH]) or current_user_can('level_0')) {
                $stats = 'show';
            }
            $tip = __();
        }
 
        $hide_notice = $tip;
        if ($stats == 'show') {
            $content = str_replace($matches[0], $matches[2], $content);
        } else {
            $content = str_replace($matches[0], $hide_notice, $content);
        }
    }
 
    return $content;
}

那么以上代码怎么调用,实现编辑器后面快捷按钮功能呢?


2.在functions.php加入下面代码,实现编辑器后面快捷按钮功能。

// 添加编辑器按钮 - 回复可见
function reply_view_tags($mce_settings) {
?&gt;
<script type="text/javascript">
QTags.addButton( 'qiuzhuti_reply_view', '回复可见', '<!--hide start{reply_to_this=true}-->', '<!--hide end-->' );
</script>
<!--?php &lt;br ?-->
}
add_action('after_wp_tiny_mce', 'reply_view_tags');

3. 加入css样式,美化一下,可自行调整。

/*回复可见*/
.vihide{display:inline-block;text-align:center;border: 2px dashed #ff6666;padding:8px;margin:10px auto;color:#FF6666;width:100%;}
.vihide a{color:#04a1ef}
.vihide a:hover{color:#4ec6c8}

2 Replies to “wordpress代码实现内容回复可见功能”

发表评论

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

79 − = 73