В случае успешного удаления возвращает true
, если же таких метаданных в базе данных не существует, или указанного сайта не существует, то false
.
Логично предположить, что если у вас не включен WordPress Мультисайт, то функция будет недоступна. Более того, её использование приведёт к ошибке 500 – Call to undefined function delete_site_meta().
delete_site_meta( $blog_id, $meta_key, $meta_value = '' )
wp_blogmeta
между прочим)Допустим, сейчас содержимое нашей таблицы wp_blogmeta
выглядит так:
Теперь, если мы заюзаем следующий код:
delete_site_meta( 4, 'language' );
То наша таблица после использования кода станет выглядеть вот так:
Конечно же я не имею ввиду цвет заголовков таблицы, это я так заскринил 😁
Ещё вы можете подумать – какой смысл указывать третий параметр функции 🤔 Дело в том, что для одного и того же сайта и одного и того же ключа может быть несколько значений метаданных (несколько записей в таблице).
Кроме того, вы могли заметить на скриншоте, что ключ 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' ); }
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.