Содержание
скрыть
Позволяет удалить метаданные для определённой сущности в WordPress.
delete_metadata( $meta_type, $object_id, $meta_key, $meta_value = '', $delete_all = false )
Возвращает true
– в случае успешного удаления, иначе – false
.
Параметры
- $meta_type
- (строка) Тип метаданных, а точнее сущность WP, у которых эти метаданные будем удалять:
post
– посты (записи, страницы, произвольные типы)term
– таксономииuser
– пользователиcomment
– комментарии
- $object_id
- (целое) ID объекта сущности, метаданные у которого удаляем.
- $meta_key
- (строка) Ключ удаляемых метаданных.
- $meta_value
- Как вы знаете, может существовать несколько метаданных с одним и тем же ключом, именно поэтому вы можете задать этот параметр, чтобы удалить только определённое значение. Можно передавать как сериализованные, так и несериализованные данные в случае объектов и массивов. Также, если не хотите указывать это значение, но вам нужно передать следующий параметр в функцию, то укажите либо пустую строку, либо
null
илиfalse
- $delete_all
- (логическое) Укажите в значение
true
, если хотите удалить все метаданные для всех объектов заданного типа, в этом случае параметр$object_id
будет проигнорирован. Параметр очень полезен, потому что позволяет удалить всё лишь одним SQL-запросом.
Примеры
// Удаляем все метаданные с ключом true_key для всех постов delete_metadata( 'post', 0, 'true_key', null, true );
При удалении метаданных для конкретного поста я бы рекомендовал использовать соответствующую функцию delete_post_meta().
// Удаляем все метаданные с ключом true_key для поста с ID=5 delete_post_meta( 5, 'true_key' );
Источник: Блог Миши Рудрастых