ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
3 of 21 menu
Хочешь читать code.mu на своем родном языке? Помоги с переводом! Переведем мы сами, тебе нужно указать на ошибки перевода:) Оставляй заявку ->

Таблица wp_comments

Таблица wp_comments является одной из ключевых таблиц в WordPress и служит для хранения всех комментариев, оставленных к записям, страницам и другим типам записей сайта. Она содержит информацию об авторе комментария, его содержимом, статусе модерации и связи с родительским объектом.

Поля

Поле Тип данных Описание
comment_ID bigint(20) unsigned Уникальный идентификатор комментария (первичный ключ). Имеет автоинкремент.
comment_post_ID bigint(20) unsigned ID записи (поста), к которой оставлен комментарий. Внешний ключ, ссылается на ID в таблице wp_posts.
comment_author tinytext Имя автора комментария. Заполняется, даже если комментатор не зарегистрирован на сайте.
comment_author_email varchar(100) Email адрес автора комментария.
comment_author_url varchar(200) URL сайта автора комментария.
comment_author_IP varchar(100) IP-адрес, с которого был оставлен комментарий. Используется для модерации и борьбы со спамом.
comment_date datetime Дата и время создания комментария.
comment_date_gmt datetime Дата и время создания комментария по времени GMT (Greenwich Mean Time).
comment_content text Текст (тело) комментария.
comment_karma int(11) Поле "кармы" комментария. Редко используется по умолчанию, но может быть задействовано плагинами для рейтинговой системы.
comment_approved varchar(20) Статус одобрения комментария. Основные значения: 1 (одобрен), 0 (ожидает модерации), spam (помечен как спам), trash (в корзине).
comment_agent varchar(255) User Agent браузера или клиента, с которого был оставлен комментарий.
comment_type varchar(20) Тип комментария. По умолчанию имеет значение comment. Может также содержать trackback, pingback или значения, установленные плагинами (например, review для отзывов).
comment_parent bigint(20) unsigned ID родительского комментария, если данный комментарий является ответом на другой. Позволяет организовывать древовидные структуры обсуждений. Ссылается на comment_ID в этой же таблице.
user_id bigint(20) unsigned ID пользователя WordPress, который оставил комментарий, если он был авторизован. Если комментарий оставлен гостем, значение равно 0. Внешний ключ, ссылается на ID в таблице wp_users.

Как это работает

Когда посетитель сайта отправляет форму комментария, WordPress создает новую запись в таблице wp_comments. Поле comment_post_ID связывает комментарий с конкретной записью, что позволяет отображать все комментарии к ней.

Статус комментария (comment_approved) определяется настройками обсуждения в админ-панели WordPress. Если включена премодерация, комментарий получит статус 0 и появится в списке ожидающих, пока администратор не одобрит его (статус 1) или не отметит как спам.

Для зарегистрированных пользователей поле user_id заполняется их ID, а их имя и email автоматически подставляются из профиля. Для гостей эти данные заполняются вручную, а user_id остается равным 0.

Поле comment_parent позволяет создавать иерархические комментарии (ветки обсуждений). Ответ на комментарий будет иметь в этом поле comment_ID того комментария, на который был дан ответ.

Трекбэки и пингбэки, которые являются автоматическими уведомлениями между блогами, также хранятся в этой таблице и имеют соответствующий тип (comment_type).

Пример SQL-запроса

Выбрать все одобренные комментарии для конкретной записи вместе с именем пользователя (если он авторизован) можно следующим запросом:

SELECT c.comment_ID, c.comment_date, c.comment_author, c.comment_content, u.user_login, u.display_name FROM wp_comments c LEFT JOIN wp_users u ON (c.user_id = u.ID) WHERE c.comment_post_ID = 42 AND c.comment_approved = '1' ORDER BY c.comment_date ASC;

Смотрите также

  • таблицу wp_posts,
    которая хранит записи, к которым leftлены комментарии
  • таблицу wp_users,
    которая хранит данные зарегистрированных пользователей
  • таблицу wp_commentmeta,
    которая хранит дополнительную мета-информацию о комментариях