Функция wp_update_comment()
обновляет комментарий в базе данных, основываясь на переданных данных. Она обрабатывает и экранирует данные, обеспечивая их безопасность и корректность. Перед обновлением функция проверяет, что все обязательные поля корректно заполнены, и при необходимости дополняет их значениями из существующей записи.
wp_update_comment( array $commentarr, bool $wp_error = false ): int|false|WP_Error
Параметры
$commentarr
(массив) (обязательный): Массив данных о комментарии, который нужно обновить. Необходимо указать как минимумcomment_ID
, чтобы обновить нужный комментарий. Возможные ключи массива:comment_ID
(int): ID комментария, который нужно обновить.comment_post_ID
(int): ID поста, к которому относится комментарий (опционально).comment_author
(string): Имя автора комментария (опционально).comment_author_email
(string): Электронная почта автора комментария (опционально).comment_author_url
(string): URL автора комментария (опционально).comment_author_IP
(string): IP-адрес автора комментария (опционально).comment_date
(string): Дата и время комментария в формате ‘Y-m-d H:i’ (опционально).comment_date_gmt
(string): Дата и время комментария в формате GMT (опционально).comment_content
(string): Содержание комментария (опционально).comment_karma
(int): Оценка комментария (опционально).comment_approved
(string|int): Статус одобрения комментария. Может быть ‘1’ (одобрен), ‘0’ (не одобрен) или ‘spam’ (спам) (опционально).comment_agent
(string): Агент пользователя (опционально).comment_type
(string): Тип комментария (опционально).comment_parent
(int): ID родительского комментария (опционально).user_id
(int): ID пользователя, оставившего комментарий (опционально).
$wp_error
(bool) (опционально): Флаг, указывающий, следует ли возвращать объектWP_Error
в случае ошибки. По умолчаниюfalse
.
Возвращаемое значение
int
: ID обновленного комментария при успешном обновлении.false
илиWP_Error
: В случае ошибки (в зависимости от значения параметра$wp_error
).
Примечания
- Функция выполняет экранирование данных с помощью
wp_unslash()
, поэтому не нужно удалять слэши из значений, полученных через$_POST
. - Функция проверяет правильность заполнения всех полей перед обновлением. Если какие-то поля отсутствуют, они будут дополнены значениями из существующей записи в базе данных.
Хуки
comment_save_pre
: Выполняется перед сохранением комментария.wp_update_comment_data
: Выполняется после подготовки данных для обновления.edit_comment
: Выполняется после успешного обновления комментария.
Пример использования
// Создаем массив данных
$commentarr = array(
'comment_ID' => 123, // ID комментария, который нужно обновить
'comment_content' => 'Новый текст для комментария', // Новый текст комментария
);
// Обновляем данные в базе данных
$result = wp_update_comment( $commentarr );
// Проверяем результат
if ( is_wp_error( $result ) ) {
// Если произошла ошибка, выводим сообщение
echo 'Ошибка обновления комментария: ' . $result->get_error_message();
} else {
// Успешное обновление
echo 'Комментарий успешно обновлен. ID комментария: ' . $result;
}
Удаление одобрения комментария
// Создаем массив данных
$commentarr = array(
'comment_ID' => 123, // ID комментария, который нужно обновить
'comment_approved' => 0, // Устанавливаем статус комментария как не одобренный
);
// Обновляем данные в базе данных
wp_update_comment( $commentarr );
Поля, которые можно обновить
comment_post_ID
comment_author
comment_author_email
comment_author_url
comment_author_IP
comment_date
comment_date_gmt
comment_content
comment_karma
comment_approved
comment_agent
comment_type
comment_parent
user_id
Заключение
Функция wp_update_comment()
в WordPress позволяет обновлять существующие комментарии в базе данных. Эта функция выполняет фильтрацию данных и проверяет их корректность перед обновлением записи о комментарии.