• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

    WordPress函数wp_new_comment添加新评论【转】

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 给WordPress添加评论的函数有好几个,方式也多种多样,虽然方法多,但每个方法的功能却不完全一样,比如使用WordPress函数wp_new_comment添加新评论,就会检查是否有重复评论,避免出现可以刷评论的bug。

      函数描述

      添加一条新评论到数据库中(重点在新字上)。这个函数会通过过滤器和钩子判断评论数据是否被允许添加到WordPress数据库中,而wp_insert_comment函数则不会检查,直接添加到数据库。

      函数原型

      wp_new_comment函数位于wp-includes/comment.php文件中,由于源码过长,这里j就不贴源代码了,大家可以到WordPress官方在线查看源码,地址:https://developer.wordpress.org/reference/functions/wp_new_comment/

      参数说明

      wp_new_comment函数参数与wp_insert_comment函数参数差不多,只是多了一个是否返回wp_error错误对象的参数而已。

      wp_new_comment( array $commentdata, bool $avoid_die = false )

      $commentdata

      (array) 评论数组。

      • ‘comment_agent’
        (string) 用户评论时的代理标识,默认空。
      • ‘comment_approved’
        (int|string) 是否有评论已经得到了批准,默认1。
      • ‘comment_author’
        (string) 评论者的名字,默认为空。
      • ‘comment_author_email’
        (string) 评论者的邮箱地址,默认为空。
      • ‘comment_author_IP’
        (string) 评论者的ip,默认为空。
      • ‘comment_author_url’
        (string) 评论者的url地址,默认为空。
      • ‘comment_content’
        (string) 评论内容。
      • ‘comment_date’
        (string) 评论提交的日期,手动指定时必须指定日期时区comment_date_gmt参数,默认当前日期。
      • ‘comment_date_gmt’
        (string) 评论提交时的时区,默认是站点所选时区。
      • ‘comment_karma’
        (int) The karma of the comment. Default 0.这玩意儿看不懂是什么,默认0
      • ‘comment_parent’
        (int) 评论所属父评论id,如果有的话(就是楼主评论id)
      • ‘comment_post_ID’
        (int) 涉及到的评论文章id,默认0。
      • ‘comment_type’
        (string) 评论类型,默认空。
      • ‘comment_meta’
        (array) 键/值对数组存储在commentmeta新评论。
      • ‘user_id’
        (int)评论用户的id,默认0。

      $avoid_die

      (bool)是否返回wp_error错误对象,默认false,不返回直接输出错误。

      简单使用

      $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID'); 
      $comment_id = wp_new_comment( $commentdata,true);
      if(is_wp_error($comment_id)){
      	err( '重复评论' );
      }
      }

      如果使用了ajax提交评论,返回wp_error错误对象会导致你的文章布局错乱,正确的ajax评论提交接口应判断是否返回了wp_error错误对象,根据返回不同自定义返回内容。另外wp_insert_comment函数也能插入评论到数据库:WordPress函数wp_insert_comment插入评论到数据库中

      你需要登录,才能进行发帖操作