Описание функции wp_handle_comment_submission()
Функция wp_handle_comment_submission() обрабатывает данные комментария, переданные из формы, выполняет валидацию и сохраняет комментарий в базе данных. Она используется в основном в процессе отправки комментариев на сайте. Это позволяет разработчикам интегрировать обработку комментариев в свои темы или плагины, обеспечивая при этом безопасность и корректность данных.
Функция также возвращает информацию о результате обработки, что позволяет отобразить пользователю соответствующие сообщения
Параметры
$commentdata
Тип: array
Обязательный: Да
По умолчанию: array()
Описание: Массив данных комментария, который включает в себя поля, такие как author, email, content и другие
Возможные значения:
author: Имя автора комментария
email: Email автора комментария
content: Текст комментария
post_id: ID связанного поста
parent: ID родительского комментария
Возвращаемое значение
Тип: mixed
Описание: Возвращает объект WP_Comment при успешной обработке или WP_Error в случае ошибки
Возможные значения:
• Объект WP_Comment при успешной обработке
• WP_Error при возникновении ошибки
Примеры использования
Простой пример обработки комментария с проверкой на ошибки
$commentdata = array(
'author' => 'John Doe',
'email' => 'john@example.com',
'content' => 'Это мой комментарий',
'post_id' => 42
);
$result = wp_handle_comment_submission($commentdata);
if (is_wp_error($result)) {
echo 'Ошибка: ' . $result->get_error_message();
} else {
echo 'Комментарий успешно добавлен!';
}
Проверка на ошибки позволяет отобразить сообщение пользователю
Добавление параметра comment_type для указания типа комментария
$commentdata = array(
'author' => 'Jane Doe',
'email' => 'jane@example.com',
'content' => 'Отличная статья!',
'post_id' => 42,
'comment_type' => 'review'
);
$result = wp_handle_comment_submission($commentdata);
Тип комментария может использоваться для фильтрации комментариев
Безопасность
Валидация входных данных: Функция проверяет все входные данные на соответствие требованиям безопасности
Санитизация: Параметры автоматически очищаются WordPress для предотвращения XSS атак
Рекомендации: Используйте wp_kses_post() для фильтрации HTML содержимого комментариев
— Связанные функции
Вставляет новый комментарий в базу данных
Выводит список комментариев
— Примечания
– Ограничения
Функция не обрабатывает комментарии для постов, которые отключены для комментариев
– Частые проблемы
- Ошибка при неправильном формате email
- Отказ в добавлении комментария из-за блокировки спама