Описание функции wp_new_comment()
Функция wp_new_comment() добавляет новый комментарий к записи или странице в WordPress. Она обрабатывает данные комментария, выполняет необходимые проверки и валидацию, а затем сохраняет комментарий в базе данных.
Функция возвращает ID нового комментария или false в случае ошибки.
Параметры
$commentdata
Тип: array
Обязательный: Да
По умолчанию: array()
Описание: Массив данных комментария, который необходимо сохранить.
Возможные значения:
comment_post_ID: ID записи, к которой относится комментарий
comment_author: Имя автора комментария
comment_author_email: Email автора комментария
comment_content: Содержимое комментария
comment_type: Тип комментария (обычный, пингбек и т.д.)
comment_parent: ID родительского комментария (если это ответ)
user_id: ID пользователя (если комментарий оставлен зарегистрированным пользователем)
Возвращаемое значение
Тип: int|false
Описание: Возвращает ID нового комментария или false в случае ошибки.
Возможные значения:
• ID нового комментария при успешном выполнении
• false если произошла ошибка
Примеры использования
Базовый пример добавления нового комментария к записи с ID 1
$commentdata = array(
'comment_post_ID' => 1,
'comment_author' => 'Имя',
'comment_author_email' => 'email@example.com',
'comment_content' => 'Содержимое комментария'
);
$comment_id = wp_new_comment($commentdata);
// $comment_id будет содержать ID нового комментария
ID нового комментария будет сохранен в переменной $comment_id
Добавление ответа на комментарий с ID 2
$commentdata = array(
'comment_post_ID' => 1,
'comment_author' => 'Имя',
'comment_author_email' => 'email@example.com',
'comment_content' => 'Ответ на комментарий',
'comment_parent' => 2
);
$comment_id = wp_new_comment($commentdata);
Убедитесь, что родительский комментарий существует
Обработка ситуации, когда комментарий не был добавлен
$commentdata = array(
'comment_post_ID' => 1,
'comment_author' => 'Имя',
'comment_author_email' => 'email@example.com',
'comment_content' => 'Содержимое комментария'
);
$comment_id = wp_new_comment($commentdata);
if (!$comment_id) {
echo 'Ошибка при добавлении комментария';
}
Сообщение об ошибке выводится, если $comment_id равно false
Безопасность
Валидация входных данных: Функция проверяет и валидирует входящие данные
Санитизация: Данные автоматически очищаются перед сохранением
Рекомендации: Используйте функции проверки, такие как is_email() для проверки email перед добавлением комментария
— Связанные функции
Вставляет комментарий в базу данных, но не выполняет проверки как wp_new_comment()
Получает список комментариев для записи или страницы
— Хуки
Позволяет фильтровать данные комментария перед добавлением
— Примечания
– Ограничения
Не добавляет комментарии, если не выполнены все проверки
– Частые проблемы
- Ошибки при неправильном формате email
- Проблемы с отсутствием обязательных полей