Функция 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 позволяет обновлять существующие комментарии в базе данных. Эта функция выполняет фильтрацию данных и проверяет их корректность перед обновлением записи о комментарии.
