delete_site_meta() – удаляет метаданные сайта сети мультисайт

В случае успешного удаления возвращает true, если же таких метаданных в базе данных не существует, или указанного сайта не существует, то false.

Логично предположить, что если у вас не включен WordPress Мультисайт, то функция будет недоступна. Более того, её использование приведёт к ошибке 500 – Call to undefined function delete_site_meta().

delete_site_meta( $blog_id, $meta_key, $meta_value = '' )

Параметры

$blog_id
(целое число) Укажите ID сайта сети WordPress Мультисайт
$meta_key
(строка) Ключ, под которым эти данные хранятся в базе данных (в таблице wp_blogmeta между прочим)
$meta_value
(строка|сериализованный массив) Если вам нужно удалять мета только с определённым значением, то можете указать значение в этом параметре.

Примеры

Допустим, сейчас содержимое нашей таблицы wp_blogmeta выглядит так:

Пример использования функции delete_site_meta()

Теперь, если мы заюзаем следующий код:

delete_site_meta( 4, 'language' );

То наша таблица после использования кода станет выглядеть вот так:

Таблица wp_blogmeta в базе данных WordPress мультисайт

Конечно же я не имею ввиду цвет заголовков таблицы, это я так заскринил 😁

Ещё вы можете подумать – какой смысл указывать третий параметр функции 🤔 Дело в том, что для одного и того же сайта и одного и того же ключа может быть несколько значений метаданных (несколько записей в таблице).

Кроме того, вы могли заметить на скриншоте, что ключ language есть у нескольких сайтов. Как удалить их все?

Хм, может так?

delete_site_meta( 2, 'language' );
delete_site_meta( 4, 'language' );

Но, что, если сайтов много и мы не собираемся статично указывать их ID? Тогда нужно получить сайты в цикле, функция get_sites() для этого вполне подойдёт.

$blogs = get_sites( array( 'fields' => 'ids' ) );
foreach( $blogs as $blog_id ) {
	delete_site_meta( $site_id, 'language' );
}

Миша

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

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

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