Описание функции wp_insert_comment()
Функция wp_insert_comment() используется для добавления нового комментария к посту или странице в WordPress. Она позволяет указать различные параметры комментария, такие как содержание, автор, статус и другие. Функция возвращает ID нового комментария или WP_Error в случае ошибки.
Эта функция часто используется в плагинах и темах для управления комментариями пользователей
Параметры
$commentdata
Тип: array
Обязательный: Да
По умолчанию: array()
Описание: Массив данных комментария, которые нужно вставить
Возможные значения:
comment_post_ID: ID поста, к которому относится комментарий
author: Имя автора комментария
author_email: Email автора комментария
content: Содержание комментария
user_id: ID пользователя, если автор зарегистрирован
status: hold, approve, spam, trash
date: Дата комментария в формате ‘Y-m-d H:i:s’
Возвращаемое значение
Тип: int|WP_Error
Описание: ID нового комментария или WP_Error в случае ошибки
Возможные значения:
• ID комментария при успешном добавлении
• WP_Error в случае ошибки
Примеры использования
Базовый пример добавления комментария
$commentdata = array(
'comment_post_ID' => 1,
'author' => 'John Doe',
'author_email' => 'john@example.com',
'content' => 'Great post!',
'status' => 'approve'
);
$comment_id = wp_insert_comment($commentdata);
// Вывод ID нового комментария
echo $comment_id;
ID комментария будет выведен
Добавление комментария с указанием зарегистрированного пользователя
$commentdata = array(
'comment_post_ID' => 2,
'author' => 'Jane Doe',
'author_email' => 'jane@example.com',
'content' => 'Interesting read!',
'user_id' => 3,
'status' => 'approve'
);
$comment_id = wp_insert_comment($commentdata);
user_id указывает на зарегистрированного автора
Пример обработки ошибок при добавлении комментария
$commentdata = array(
'comment_post_ID' => 1,
'author' => 'Invalid Author',
'author_email' => 'invalid_email',
'content' => 'Comment without email',
);
$comment_id = wp_insert_comment($commentdata);
if (is_wp_error($comment_id)) {
echo 'Ошибка: ' . $comment_id->get_error_message();
}
Вывод сообщения об ошибке, если добавление не удалось
Безопасность
Валидация входных данных: Все параметры проходят валидацию внутри функции
Санитизация: Содержимое комментария очищается автоматически
Рекомендации: При выводе комментариев используйте esc_html() для защиты от XSS
— Связанные функции
Обновление существующего комментария
Удаление комментария
— Хуки
Фильтрует данные комментария перед добавлением
— Примечания
– Ограничения
Некоторые статусы комментариев могут быть недоступны в зависимости от настроек сайта
– Частые проблемы
- Неудача при добавлении комментария из-за неверного email
- Ошибка при отсутствии обязательных полей