Удаляет мета-данные элемента таксономии (термина) с указанным ID. Например определённой рубрики, метки и т.д.
Возвращает:
true
– если метаданные были удалены.false
– если нет (например метаданных с указанным ключом не существует, или термина).
delete_term_meta( $term_id, $meta_key, $meta_value = '' )
Параметры
- $term_id
- (целое число) ID элемента таксономии.
- $meta_key
- (строка) Ключ мета-данных.
- $meta_value
- Функция позволяет вам указать также и значение метаданных, которые мы удаляем. Что? Зачем? Нужно это в той ситуации, если с одним и тем же ключом у вас в базе хранится несколько значений метаданных термина. Поэтому, если мы не хотим удалять их все, то можем указать значение определённых, чтобы удалить именно их.
Примеры
1. Основы использования
// удаляем метаданные у термина с ID=5 по ключу true_key delete_term_meta( 5, 'true_key' );
Ну или так:
$term_id = 5; // удаляем метаданные у термина с ID=5 по ключу true_key delete_term_meta( $term_id, '_true_key' );
А теперь воспользуемся третьим параметром функции. Допустим, что наша таблица wp_termmeta
выглядит так:
Давайте удалим только то значение position, которое normal?
delete_term_meta( 11, 'position', 'normal' );
2. Удаление метаданных у всех элементов таксономий
Допустим, что вы использовали тот же ключ position у себя в… ммм.. рубриках например. И теперь перестали и решили удалить его из базы данных.
Для постов у нас для этого есть функция delete_post_meta_by_key(). А для таксономий пока нет. Тогда сами напишем код:
$terms = get_terms( array( 'taxonomy' => 'category', 'hide_empty' => false ) ); if( $terms ) { foreach( $terms as $term ) { delete_term_meta( $term->term_id, 'position' ); } }
Для получения всех элементов таксономии category
я воспользовался функцией get_terms().
Источник: Блог Миши Рудрастых