delete_term_meta()

Удаляет мета-данные элемента таксономии (термина) с указанным 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 выглядит так:

таблица wp-postmeta в pHpmyadmin

Давайте удалим только то значение 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().

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.