В моем файле WP functions.php
есть действительно простой кусок кода PHP, он создает новый комментарий:
$time = current_time('mysql');
$com_meta = array(
"img_id" => $attach_id,
);
// $attach_id holds the ID of an image I want to attach to the comment in comment_meta
$data = array(
'comment_post_ID' => 2819,
'comment_author' => 'My test title',
'comment_author_email' => 'test@test.com',
'comment_content' => 'Test comment message.',
'comment_type' => '',
'comment_date' => $time,
'comment_approved' => 0,
'comment_meta' => $com_meta,
);
$comm_id = wp_insert_comment( $data );
die( 'comment created, comment id: ' . $comm_id );
Нет ошибок PHP, и комментарий создается просто отлично. Все остальные данные, такие как «My test title», находятся там, как и ожидалось. Только поле comment_meta полностью отсутствует. В объекте $ comment нет даже пустого комментария.
Чего мне не хватает?
Вот как выглядит объект $ comment:
WP_CommentObject ([comment_ID] => 9 [comment_post_ID] => 2819 [comment_author] => Мой заголовок теста [comment_author_email] => test@test.com [comment_author_url] => [comment_author_IP] => [comment_date] => 2019-10-18 13:33:03 [comment_date_gmt] => 2019-10-18 10:33:03 [comment_content] => Тестовое сообщение с комментарием. [Comment_karma] => 0 [comment_approved] => 0 [comment_agent] => [comment_type] => [comment_parent] => 0 [user_id] => 0 [children: protected] => [populated_children: protected] => [post_fields: protected] => Массив ([0] => post_author [1] => post_date[2] => post_date_gmt [3] => post_content [4] => post_title [5] => post_excerpt [6] => post_status [7] => comment_status [8] => ping_status [9] => имя_почты [10] => to_ping [11] => pinged [12] => post_modified [13] => post_modified_gmt [14] => post_content_filtered[15] => post_parent [16] => guid [17] => menu_order [18] => post_type [19] => post_mime_type [20] => comment_count))