add_comment_meta()
Додає метадані (довільне поле) для зазначеного коментаря.
Для додавання такого поля можна використовувати update_comment_meta() . Часто вона зручніша і працює універсально, оновлює поле чи створює нове, якщо поля немає.
add_comment_meta() зручніше, коли використовуються кілька метаполів полів з однаковими назвами (ключами). Для цього функція має параметр $unique (унікальний), який за умовчанням дорівнює false , тобто. за замовчуванням створюється не унікальний ключ – це означає, що полів з такою назвою може бути декілька.
add_metadata()
Хуків немає.
Повертає
int|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 ) { $meta_val = sanitize_text_field( $_POST['my_metadata_value'] ); add_comment_meta( $comment_id, 'my_metadata_key', $meta_val ); }
Цей код потрібно додати до файлу теми functions.php. А також, у формі коментаря або запиту потрібно відправити POST дані my_metadata_value
, які і будуть додані в метаполі коментаря my_metadata_key
.
#2 Ще приклади
Дивіться в описі add_post_meta() . add_comment_meta() працює так само, тільки тут потрібно вказувати ID коментаря, а там ID запису. В іншому все абсолютно однаково.
список змін
З версії 2.9.0 | Введено. |
Код add_comment_meta() add comment meta WP 6.0.2
function add_comment_meta( $comment_id, $meta_key, $meta_value, $unique = false ) { return add_metadata( 'comment', $comment_id, $meta_key, $meta_value, $unique ); }