为您的WordPress主题增加私密留言评论功能

今天我们就以这篇文章来折腾一下 WordPress 站点增加私密留言评论的功能。

为您的WordPress主题增加私密留言评论功能

为您的WordPress主题增加私密留言评论功能

实现方式:

WordPress 评论后会保留评论者的cookies,根据这个cookie 来判断哪些评论是自己发出的,自己可以看到自己的发表的私密评论。站长可以看到所有的评论。如果浏览器 cookies 被清空,你会看不到你自己的私密评论(此私密信息会连你也不认识:) )。

代码逻辑:

利用 add_action 触发。只要发表评论,就触发判断,是否为私密评论。如果是私密评论,则加上自定义的 commentmeta: _private。在读取私密评论时,如果评论存在 _private 的自定义属性标记,则不显示具体评论内容。

DUX主题增加私密留言评论

  1. 打开 DUX主题的 functions.php 文件,在最后一个 ?> 的前面添加以下代码:
    //私密评论
    function liao_private_message_hook( $comment_content , $comment){
        $comment_ID = $comment->comment_ID;
        $parent_ID = $comment->comment_parent;
        $parent_email = get_comment_author_email($parent_ID);
        $is_private = get_comment_meta($comment_ID,'_private',true);
        $email = $comment->comment_author_email;
        $current_commenter = wp_get_current_commenter();
        if ( $is_private ) $comment_content = '#私密# ' . $comment_content;
        if ( $current_commenter['comment_author_email'] == $email || $parent_email == $current_commenter['comment_author_email'] || current_user_can('delete_user') ) return $comment_content;
        if ( $is_private ) return '<span style="background-color: #ffff00; color: #666699;"><i class="fas fa-lock"></i>该评论为私密评论</span>';
        return $comment_content;
    }
    add_filter('get_comment_text','liao_private_message_hook',10,2);
    
    function liao_mark_private_message( $comment_id ){
        if ( isset($_POST['is-private']) ) {
            update_comment_meta($comment_id,'_private','true');
        }
    }
    add_action('comment_post', 'liao_mark_private_message');
    
  2. 我们需要加一个是否设为私密评论的选项。如果你的评论框是HTML表单,那么就加个单选框吧。
    <input type="checkbox" name="is-private">
本站声明:
1.本站所有干货均来源于互联网,部分收费资源为保障服务器运行,不保证100%完整、不提供任何技术支持
2.分享目的仅限于学习和测试,一切商业行为与本站无关,下载后请在24小时内删除。
3.请勿用于商业用途,不得违反国家法律,如需商业使用请向官方购买授权,由于使用该资源引起的侵权行为 与本站无关!
4. 如有链接无法下载、失效或广告,请联系管理员处理!
5. 如遇到加密压缩包,默认解压密码为"www.xyouhui.com",如遇到无法解压的请联系管理员!

享优汇小站 | 软件神器 | 给力的源码主题 | 免费干货 » 为您的WordPress主题增加私密留言评论功能

发表评论