wp_insert_comment()
Вставляет/добавляет комментарий в базу данных.
ВАЖНО! Ожидает экранированные данные! Т.е. если мы передаем данные, которые не были получены из $_POST запроса, то их нужно обработать с помощью wp_slash().
Смотрите также функцию wp_new_comment(), которая очищает данные перед тем как вызывать эту функцию.
Хуки из функции
Возвращает
int|false
. ID нового комментария или false, если не удалось добавить комментарии.
Использование
wp_insert_comment( $commentdata );
- $commentdata
Cодержит массив данных добавляемого комментария. Массив может содержать следующие поля:
-
comment_agent(строка)
HTTP агент (user agent) автора комментария, в момент отправки комментария.
По умолчанию: '' -
comment_approved(число|строка)
Одобрен коммент или нет.
По умолчанию: 1 -
comment_author(строка)
Имя автора комментария.
По умолчанию: '' -
comment_author_email(строка)
email автора комментария.
По умолчанию: '' -
comment_author_IP(строка)
IP автора комментария. Автоматически НЕ определяется.
По умолчанию: '' -
comment_author_url(строка)
URL автора комментария.
По умолчанию: '' -
comment_content(строка)
Текст комментария.
По умолчанию: '' -
comment_date(строка)
Дата и время отправки комментария. В MySQL формате.
По умолчанию: null (текущее время) -
comment_date_gmt(строка)
Дата и время отправки комментария в GMT зоне. В MySQL формате.
По умолчанию: null (текущее время в GMT) -
comment_karma(число)
Карма комментария.
По умолчанию: 0 -
comment_parent(число)
ID родительского комментария, которому этот комментарий будет дочерним.
По умолчанию: 0 -
comment_post_ID(число)
ID записи к которой относится комментарий.
По умолчанию: '' -
comment_type(строка)
Тип комментария. Обычный комментарий не имеет типа, т.е. равен ''.
По умолчанию: 'comment' -
user_id(число)
ID пользователя который публикует комментарий.
По умолчанию: 0 - comment_meta(массив)
Массив из пар:ключ => значение
которые будут добавлены в метаданные комментария.
По умолчанию: null
-
Примеры
#1 Пример добавления нового комментария
$data = [ 'comment_post_ID' => 1, 'comment_author' => 'admin', 'comment_author_email' => 'admin@admin.com', 'comment_author_url' => 'http://', 'comment_content' => 'content here', 'comment_type' => 'comment', 'comment_parent' => 0, 'user_id' => 1, 'comment_author_IP' => '127.0.0.1', 'comment_agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)', 'comment_date' => null, // получим current_time('mysql') 'comment_approved' => 1, ]; wp_insert_comment( wp_slash($data) );
Заметки
- Global. wpdb. $wpdb WordPress database abstraction object.
Список изменений
С версии 2.0.0 | Введена. |
С версии 4.4.0 | Introduced the $comment_meta argument. |
С версии 5.5.0 | Default value for $comment_type argument changed to comment. |