Функция обновляет метаданные сайта сети мультисайт по указанному ключу, если же таких метаданных не существует, то они будут добавлены.
В случае успеха возвращает ID meta_id
записанных данных в БД, иначе – false
(например в случае, когда сайта с указанным $blog_id
не существует или даже если новое значение соответствует уже существующему.
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' )
смысла нет (ой, я его уже дал).
Задачка поинтереснее, дано:
Что произойдёт, если запустить эту функцию?
update_site_meta( 4, 'language', 'hawaiian' );
Ответ:
Поэтому, если хотим обновить только одну запись в таблице, то указываем её значение в параметре $prev_value
:
update_site_meta( 4, 'language', 'hawaiian', 'french' );