给WordPress添加评论的函数有好几个,方式也多种多样,虽然方法多,但每个方法的功能却不完全一样,比如使用WordPress函数wp_new_comment添加新评论,就会检查是否有重复评论,避免出现可以刷评论的bug。
给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插入评论到数据库中
- Bài viết thuộc quyền sở hữu của tác giả trên website tainguyen.edu.vn, mọi sao chép phải dẫn nguồn đầy đủ và rõ ràng.
- Bất kỳ cá nhân hoặc tổ chức nào, nếu không có sự đồng ý của tác giả, đều bị cấm sao chép, chiếm đoạt, thu thập và xuất bản nội dung của trang này lên bất kỳ trang web, sách và các nền tảng truyền thông khác.
- Nếu nội dung trên bài đăng này bị vi phạm quyền và lợi ích hợp pháp của tác giả gốc, bạn có thể liên hệ với chúng tôi để xử lý.
- Tác giả bài viết tự chịu trách nhiệm về bản quyền bài viết, nội dung đã đăng tải tại bài đăng này