Codex tools: Log in
Languages: English • Русский • Español • 日本語 • (Add your language)
Contents |
add_post_meta добавляет произвольные_поля в указанную запись, страницу или другой тип документа.
Если параметру $unique задать значение true и поле с указанным ключом уже существует, функция вернёт false и не произведёт изменений; в противном случае возвращается true.
<?php add_post_meta($post_id, $meta_key, $meta_value, $unique); ?>
<?php add_post_meta(68, 'my_key', 47); ?>
Добавляет произвольное поле, если такое поле ещё не существует или обновляет существующее. Примечание: если четвёртому параметру add_post_meta установить значение true, то поле не будет обновлено, если оно уже существует (проверено на версии WP 2.6.2). Рекомендуется использовать if (!update_post_meta(...)) add_post_meta(...).
<?php add_post_meta(7, 'fruit', 'banana', true) or update_post_meta(7, 'fruit', 'banana'); ?>
Что перед добавлением поля "my_key" убедиться, что оно ещё не существует, следуетиспользовать такой вариант:
<?php add_post_meta(68, 'my_key', '47', true); ?>
Добавить несколько значений полю "my_key" можно следующим образом:
<?php add_post_meta(68, 'my_key', '47'); ?> <?php add_post_meta(68, 'my_key', '682'); ?> <?php add_post_meta(68, 'my_key', 'The quick, brown fox jumped over the lazy dog.'); ?> ...
Больше подробных примеров можно найти на странице post_meta Functions Examples.
Если вы разработчик и вам нужно создать произвольное поле, которое не будет видно пользователям, но при этом будет работать как обычное произвольное поле, то знайте что WordPress не показывает произвольные поля начинающиеся с "_" (нижнего подчеркивания). Не показывает значит, что они игнорируются на странице редактирования постов или при использовании функции шаблона the_meta().
Поэтому, если нужно вдруг нужно спрятать произвольное поле, то нужно создавать поле с ключом начинающимся с "_", например:
<?php add_post_meta(68, '_color', 'red', true); ?>
добавит уникальное произвольное поле _color со значением red и это поле не будет выводится в админке на странице редактирования постов/постоянных страниц.
Кроме того, если $meta_value является массивом, оно не будет отображаться на странице редактирования записи или страницы.
add_post_meta() объявляется в wp-includes/post.php
Custom Fields: the_meta(), get_post_meta(), add_post_meta(), update_post_meta(), delete_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys() (See Also: post_meta Function Examples)