get_site_meta() – получает значение метаполя сайта сети

Для того, чтобы всё было легко и понятно, ниже скриншот новой таблицы wp_blogmeta (которая кстати появилась в версии WordPress 5.1)

Таблица wp_blogmeta в базе данных WordPress мультисайт
get_site_meta( $blog_id, $meta_key = '', $single = false )
$blog_id
(целое) ID сайта внутри сети мультисайт, метаданные которого хотим получить. Например вы можете использовать функцию get_current_blog_id() для получения ID текущего сайта. Если этот параметр указан неверно (например несуществующий сайт), то функция вернёт false.
$meta_key
(строка) ключ мета поля, значение колонки meta_key в базе данных в таблице wp_blogmeta. Если скипнуть этот параметр, то будут возвращены вообще все возможные метаполя сайта сети в виде массива (в каком виде – показано ниже в примере).
$single
(логическое) Дело в том, что с одним и тем же ключом может быть несколько значений в таблице wp_blogmeta. Если вы хотите получить все эти варианты значений в виде массива, то оставляете этот параметр как есть по умолчанию, если же вам нужно только одно значение поля (самое первое), либо же у вас и вовсе не хранится несколько значений, то конечно меняем на true, тогда функция вернёт нам строку/массив, в зависимости от того, что находится в значении метаполя, при значении false мы всегда будем получать массив, пусть даже и из одного элемента.

Пример

Тут всё очень просто – если вы знакомы с функцией get_post_meta(), get_user_meta() или get_term_meta(), то вы могли бы даже не читать документацию, вам бы и так сразу всё стало понятно 😁

// предположим, что подсайты сети у нас служат для мультиязычности сайта
$site_id = get_current_blog_id(); // предположим хотим узнать язык текущего сайта
$language = get_site_meta( $site_id, 'language', true );
echo $language;

А ещё я обещал пример с получением всех возможных мета полей:

$everything = get_site_meta( 2 ); // для сайта с ID 2
print_r( $everything ); 
 
/*
и получаем примерно это:
Array
(
    [language] => Array
        (
            [0] => french
        )
 
)
*/

Миша

Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.