WP_NEW_COMMENT需要作者URL和作者邮件

时间:2016-10-14 作者:theyuv

我正在使用wp_new_comment() (以前使用wp_insert_comment()) 作用

我现在注意到

注意:未定义索引:comment_author_url

和a:

注意:未定义索引:comment\\u author\\u email

wp-includes/comment.php 文件

以前,使用时wp_insert_comment() 我将参数中的这些字段留空(即:将它们从参数数组中删除),并且没有收到任何通知。

为什么我现在收到这些争论的通知?对于wp_new_comment() 功能,但不用于wp_insert_comment()? 如果是,为什么?

我所有的评论都是由注册用户写的。我可以简单地为这些字段输入空字符串,或者使用用户的注册信息填充字段。对此有什么建议吗?

(我的评论表单取自我正在使用的插件)。

谢谢

1 个回复
SO网友:Benoti

在codex中的示例中,现在需要参数数组。

global $post, $current_user; //for this example only :)

    $commentdata = array(\'comment_post_ID\' => $post->ID, // to which post the comment will show up
        \'comment_author\' => \'Another Someone\', //fixed value - can be dynamic 
        \'comment_author_email\' => \'[email protected]\', //fixed value - can be dynamic 
        \'comment_author_url\' => \'http://example.com\', //fixed value - can be dynamic 
        \'comment_content\' => \'Comment messsage...\', //fixed value - can be dynamic 
        \'comment_type\' => \'\', //empty for regular comments, \'pingback\' for pingbacks, \'trackback\' for trackbacks
        \'comment_parent\' => 0, //0 if it\'s not a reply to another comment; if it\'s a reply, mention the parent comment ID here
        \'user_id\' => $current_user->ID, //passing current user ID or any predefined as per the demand
   );

  //Insert new comment and get the comment ID
  $comment_id = wp_new_comment( $commentdata );
您可以查看wp_filter_comment(),源代码显示了一些设置fill$commentdata的过滤器。可能您使用的插件使用了其中一个。