update_site_meta() – обновляет метаданные сайта сети мультисайт

Функция обновляет метаданные сайта сети мультисайт по указанному ключу, если же таких метаданных не существует, то они будут добавлены.

В случае успеха возвращает ID meta_id записанных данных в БД, иначе – false (например в случае, когда сайта с указанным $blog_id не существует или даже если новое значение соответствует уже существующему.

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

update_site_meta( $blog_id, $meta_key, $meta_value, $prev_value = '' )

Параметры

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

Если у сайта с указанным $blog_id не существует метаданных с ключом $meta_key, то они будут добавлены.

Пример

То, что эта функциия работает по типу update_post_meta() или update_user_meta() вам наверное и так понятно и давать вам пример update_post_meta( 4, 'language', 'eng' ) смысла нет (ой, я его уже дал).

Задачка поинтереснее, дано:

Таблица базы данных wp_blogmeta с данными с одним ключом meta_key и разными значениями meta_value

Что произойдёт, если запустить эту функцию?

update_site_meta( 4, 'language', 'hawaiian' );

Ответ:

Таблица wp_blogmeta с метаданными

Поэтому, если хотим обновить только одну запись в таблице, то указываем её значение в параметре $prev_value:

update_site_meta( 4, 'language', 'hawaiian', 'french' );

Миша

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

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

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