add_comment_meta()

Добавляет метаданные для комментария.

Функция возвращает:

  • ID метаданных, если они были добавлены.
  • false – если не были добавлены, например по причине, что указан ID несуществующего комментария.
add_comment_meta( $comment_id, $meta_key, $meta_value, $unique = false )

Параметры

$comment_id
(целое число) ID комментария.
$meta_key
(строка) Ключ мета-поля.
$meta_value
Значение мета-поля. Нескалярные значения сериализуются.
$unique
(логический) По умолчанию при использовании этой функции для одних и тех же значений $comment_id и $meta_key новые метаданные с тем же ключом будут добавляться снова и снова. Но мы можем предотвратить это, установив этот параметр в значение true. Тогда, если мета-поле с указанным ключом у указанного комментария уже существует, то функция вернёт false.

Примеры

1. Основы использования

Добавляем какое-то произвольное мета-поля для комментария с ID=55.

$comment_id = 55;
 
add_comment_meta( $comment_id, 'true_key', 'Привет, мир!' );

После выполнения этого кода зайдите в таблицу wp_commentmeta в базе данных и прочекайте, появилось ли оно там.

+---------+--------------+--------------+-----------------
| meta_id | comment_id   | meta_key     | meta_value                                                                                              |
+---------+--------------+--------------+-----------------
| 7851    | 55           | true_key     | Привет, мир!

Кстати, значение из колонки meta_id – это как раз то, что возвращает функция.

2. Добавление мета-поля в базу данных при отправке комментария

Этот пример был и в официальной документации WordPress, но что-то он там какой-то неполный. Суть его в том, что мы добавим какое-то поле в форму комментария, а затем, при отправке комментария, значение этого поля будет добавляться в мета-поля комментария.

Этот пример уже есть на моём сайте, в описании функции comment_form(), вот ссылка.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.