add_comment_meta

Добавляет метаданные (произвольное поле) для указанного комментария.

Для добавления такого поля можно использовать update_comment_meta(). Часто она удобнее и работает универсально, обновляет поле или создает новое, если поля нет.

add_comment_meta() удобнее, когда используются несколько метаполей полей с одинаковыми названиями (ключами). Для этого у функции есть параметр $unique (уникальный), который по умолчанию равен false, т.е. по умолчанию создается не уникальный ключ – это значит, что полей с таким названием может быть несколько.

Хуков нет.

Возвращает

Число/true/false. Мета ID при успехе, false при неудаче.

Использование

add_comment_meta( $comment_id, $meta_key, $meta_value, $unique );
$comment_id(число) (обязательный)
ID комментария, к которому добавляется метаполе.
$meta_key(строка) (обязательный)
Название метаполя (ключ).
$meta_value(смешанный) (обязательный)
Значение метаполя.
$unique(логический)
Сделать это поле уникальным или нет? Если поставить true, то при добавлении WordPress сначала проверит, нет ли уже поля с таким же ключом, и если есть, то поле не будет добавлено.
По умолчанию: false

Примеры

#1 Добавим метаполе к каждому новому комментарию

Допустим нам нужно добавить метаполе к комментарию, когда он публикуется, т.е. к новому комменту. Используем для этого событие ‘comment_post’, которое срабатывает при публикации комментария.

add_action( 'comment_post', 'add_comment_metadata_field' );
function add_comment_metadata_field( $comment_id ) {
   add_comment_meta( $comment_id, 'my_metadata_key', $_POST['my_metadata_value'] );
}

#2 Еще примеры

Смотрите в описании add_post_meta(). add_comment_meta() работает точно также, только тут нужно указывать ID комментария, а там ID записи. В остальном все абсолютно одинаково…

Код из


wp-includes/comment.php

WP 4.7.2

<?php
function add_comment_meta($comment_id, $meta_key, $meta_value, $unique = false) {
	return add_metadata('comment', $comment_id, $meta_key, $meta_value, $unique);
}