WordPress add_comment_meta + comment_meta правильное использование? - PullRequest
0 голосов
/ 18 октября 2019

В моем файле 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))

1 Ответ

0 голосов
/ 18 октября 2019

Я нашел ответ.

Ответ в том, что comment_meta вообще не должен быть частью стандартного объекта $ comment.

Комментарий-метета есть, но вам нужночтобы получить к нему доступ с помощью get_comment_meta ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...