WordPress站点增加私密留言评论功能的教程

2017年09月04日 18:41:51  阅读 274 次

WordPress 站点的评论默认情况下都是公开的评论,也就是说只要是审核通过的评论,所有人(包括站长、留言者、游客等)都可以看到这条评论内容。如果我们想要实现只有留言者和站长看到的私密留言评论,那么应该怎么实现呢?幸好 Fatesinger 博主早已分享有相关教程,详见《WordPress 私密评论#测试版#》,不过我还是比较喜欢料网的这篇文章《WordPress私密留言评论》,里面把原理和具体操作过程介绍得相当详细。所以今天我们就以这篇文章结合 Nana主题来折腾一下 WordPress 站点增加私密留言评论的功能。

WordPress站点增加私密留言评论功能的教程 技术文档 第1张

Nana 主题增加私密留言评论的功能步骤

1、打开 Nana主题的 functions.php 文件,在最后一个 ?> 的前面添加以下代码:

  1. //私密评论
  2. function liao_private_message_hook( $comment_content , $comment){
  3.     $comment_ID = $comment->comment_ID;
  4.     $parent_ID = $comment->comment_parent;
  5.     $parent_email = get_comment_author_email($parent_ID);
  6.     $is_private = get_comment_meta($comment_ID,'_private',true);
  7.     $email = $comment->comment_author_email;
  8.     $current_commenter = wp_get_current_commenter();
  9.     if ( $is_private ) $comment_content = '#私密# ' . $comment_content;
  10.     if ( $current_commenter['comment_author_email'] == $email || $parent_email == $current_commenter['comment_author_email'] || current_user_can('delete_user') ) return $comment_content;
  11.     if ( $is_private ) return '<span style="color:#A6A6A6"><i class="fa fa-lock fa-fw"></i>该评论为私密评论</span>';
  12.     return $comment_content;
  13. }
  14. add_filter('get_comment_text','liao_private_message_hook',10,2);
  15. function liao_mark_private_message( $comment_id ){
  16.     if ( $_POST['is-private'] ) {
  17.         add_comment_meta($comment_id,'_private','true');
  18.     }
  19. }
  20. add_action('comment_post', 'liao_mark_private_message');

以上代码来自料网《WordPress私密留言评论

2、打开 Nana主题的 comments.php 文件,找到以下代码:

  1. <p class="form-submit">
  2.     <input id="submit" name="submit" type="submit" tabindex="5" value="提交评论">
  3.     <?php comment_id_fields(); do_action('comment_form', $post->ID); ?>
  4. </p>

修改为:

  1. <p class="form-submit">
  2.     <input id="submit" name="submit" type="submit" tabindex="5" value="提交评论">
  3.     <span style="margin-right: 10px;"><input type="checkbox" name="is-private">私密评论</span>
  4.     <?php comment_id_fields(); do_action('comment_form', $post->ID); ?>
  5. </p>

3、打开 Nana主题的Nana\inc\functions\widgets.php 文件,找到以下代码:

  1. <?php echo convert_smilies($my_comment->comment_content); ?>

修改为

  1. <?php echo liao_private_message_hook($my_comment->comment_content,$my_comment);?>

即可。

至此,Nana主题已经具备了私密留言评论的功能。只需要我们在评论时,勾选私密评论即可。具体如下图所示:

记得勾选私密评论按钮

提交评论后,评论者本人是可以在当前页面和侧边栏近期评论中看到具体的评论内容,但是如果清空浏览器缓存的话,连评论者自己也是无法看到评论内容的。具体如下图所示:

只有评论者本人和站长可见

如果不是评论者或站长的话,其他游客用户是无法看到具体的评论内容的,只能看到“该评论为私密评论”的字样。具体如下图所示:

WordPress站点增加私密留言评论功能的教程 技术文档 第4张

拓展阅读

如果文章对你有帮助,请赞赏支持懿古今发展!

历史上的今天:

本文地址:https://yigujin.cn/1325.html
版权声明:本文为原创文章,版权归 懿古今 所有,欢迎分享本文,转载请保留出处!
淘宝天猫无门槛专享优惠券

发表评论


表情

  1. X.X.S~
    X.X.S~ 【实习】 @回复

    其实没啥太大的用处,为了主题的简洁与速度,就不折腾这个了

  2. Koolight
    Koolight 【副总】 @回复

    这是适合暗恋患者去评论吗?

    • 懿古今
      懿古今【老板】2017-09-06 08:43  回复

      @Koolight[嘻嘻] 其实绝大部分站点都用不到这个功能,不过玩博客吗,就是偶尔要折腾的

  3. xian y
    xian y 【助理】 @回复

    我觉得还是不错的,需要的就有用,不需要的就是多余。比如是需要卖东西,评论竞价,应该就是有用了。

  4. 橘子书
    橘子书 【经理】 @回复

    [偷笑] 以前在多梦主题看过该功能,只是没去琢磨原理。感觉目前用不上。

  5. 李盛奎博客
    李盛奎博客 【实习】 @回复

    功能越来越多了!顶起

  6. 大致
    大致 【主管】 @回复

    如果非要看的话,email可以伪造啊。

    • 懿古今
      懿古今【老板】2017-09-05 14:35  回复

      @大致这个对于大部分人而言是不懂得看的,反正我也不懂如何查看别人的私密评论,其实这个功能聊胜于无而已

  7. 九哥
    九哥 【主管】 @回复

    折腾了,最后一步侧边栏近期留言,有课依然显示了内容。。。

    • 懿古今
      懿古今【老板】2017-09-05 14:36  回复

      @九哥侧边栏的评论其实说白了,就是获取评论内容后,通过那个私密评论函数替换一下而已,理论上应该没什么难度

  8. 九哥
    九哥 【主管】 @回复

    这个比较人性化,增强用户体验,可以折腾一下。

  9. 济南SEO
    济南SEO 【实习】 @回复

    对于我这样的小站点耶没有人评论,更别说私密了,不过还是要进来学习下,万一以后用得到呢。