WordPress添加新评论函数:wp_new_comment

AI大语言模型

WordPress函数wp_new_comment()向数据库添加新评论。该函数接受一个包含评论数据的数组和一个可选的布尔值参数,用于指定在发生错误时是否返回WP_Error对象。成功时返回评论的ID,失败时返回false或WP_Error对象。

wp_new_comment( array $commentdata,  bool $wp_error = false ): int|false|WP_Error

函数参数

$commentdata

数据类型:array (必须)

评论数据。

  • comment_author:字符串,评论作者的姓名。
  • comment_author_email:字符串,评论作者的电子邮件地址。
  • comment_author_url:字符串,评论作者URL。
  • comment_content:字符串,评论的内容。
  • comment_date:字符串,提交评论的日期。默认值为当前时间。
  • comment_date_gmt:字符串,评论在GMT时区提交的日期。
  • comment_type:字符串,评论类型。默认“comment”。
  • comment_parent:整数,此评论的父级ID(如果有的话)。默认值0。
  • comment_post_ID:整数,与评论相关的帖子的ID。
  • user_id:整数,提交评论的用户的ID。默认值0。
  • user_ID:整数,保留以实现向后兼容性。请改用$user_id。
  • comment_agent:字符串,评论作者用户代理。默认值是$_SERVER超全局中的“HTTP_USER_AGENT”值。
  • comment_author_IP:字符串,评论作者IP地址。默认值是$_SERVER超全局中的“REMOTE_ADDR”值。

$wp_error

数据类型:bool (可选)

错误是否应该作为WP_Error对象返回,而不是执行WP_die()

函数返回值

int|false|WP_Error

成功时返回评论的ID,失败时返回false或WP_Error。

函数使用示例

在用户提交评论时自动将评论添加到数据库中,并发送一封通知邮件给管理员。

// 假设这是从用户表单提交的评论数据
$comment_data = array(
    'comment_post_ID' => 666, // 相关文章ID
    'comment_author' => '背字根',
    'comment_author_email' => 'beizigen@qq.com',
    'comment_author_url' => 'https://www.beizigen.com/',
    'comment_content' => '这是一条评论内容。',
    'comment_type' => 'comment',
    'comment_parent' => 0, // 父级评论ID
    'user_id' => 1, // 用户ID
    'comment_agent' => 'Mozilla/5.0',
    'comment_author_IP' => '127.0.0.1'
);

// 调用wp_new_comment函数添加评论
$comment_id = wp_new_comment($comment_data);

// 检查评论是否成功添加,若成功,发送通知邮件给管理员
if ($comment_id) {
    $admin_email = get_option('admin_email');
    $subject = '新评论已提交';
    $message = '您的网站上有一条评论已提交。评论内容如下:' . $comment_data['comment_content'];
    wp_mail($admin_email, $subject, $message);
} else {
    echo '评论添加失败,请重试。';
}

扩展阅读

wp_new_comment()函数位于:wp-includes/comment.php

相关函数:

AI大语言模型