I am using the wp_new_comment()
(previously used the wp_insert_comment()
) function.
I now notice that I get a
Notice: Undefined index: comment_author_url
and a:
Notice: Undefined index: comment_author_email
in the wp-includes/comment.php
file.
Previously, when using wp_insert_comment()
I left these fields in the arguments blank (ie: left them out of the arguments array) and I didn't receive any notices.
How come I am receiving a notice for these arguments now? Are these arguments required for the wp_new_comment()
function but not for wp_insert_comment()
? If so, why?
All of my comments are written by registered users. I can simply enter empty strings for these fields or use the user's registration information to populate the fields. Any suggestions regarding this?
(my comment form is taken from the plugin I'm using).
Thanks.
I am using the wp_new_comment()
(previously used the wp_insert_comment()
) function.
I now notice that I get a
Notice: Undefined index: comment_author_url
and a:
Notice: Undefined index: comment_author_email
in the wp-includes/comment.php
file.
Previously, when using wp_insert_comment()
I left these fields in the arguments blank (ie: left them out of the arguments array) and I didn't receive any notices.
How come I am receiving a notice for these arguments now? Are these arguments required for the wp_new_comment()
function but not for wp_insert_comment()
? If so, why?
All of my comments are written by registered users. I can simply enter empty strings for these fields or use the user's registration information to populate the fields. Any suggestions regarding this?
(my comment form is taken from the plugin I'm using).
Thanks.
Share Improve this question asked Oct 14, 2016 at 14:58 theyuvtheyuv 2091 silver badge15 bronze badges 2 |1 Answer
Reset to default 1The example from the codex, the array of argument is now required.
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', //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 );
You can have a look to wp_filter_comment(), the source shows some filters that set fill $commentdata. Maybe one of these are used by the plugin you use.
comment_author_url
norcomment_author_email
. It has comment_post_ID, comment_content, comment_parent, comment_type, user_id, comment_author. – theyuv Commented Oct 14, 2016 at 17:37