Начиная с версии WordPress 5.1 метаданные появились и у сайтов сети мультисайт. В базе данных вы можете найти их в таблице wp_blogmeta
.
Функция же get_site_meta()
позполяет получить значения этих метаданных. Работает точно также, как и другие функции для получения метаданных, например get_post_meta() или get_user_meta() – прочекайте описания этих функций, если вас интересуют супер-подробные объяснения.
Логично предположить, что если у вас не включен WordPress Мультисайт, то функция будет недоступна. Более того, её использование приведёт к ошибке 500 – Call to undefined function get_site_meta().
get_site_meta( $blog_id, $meta_key = '', $single = false )
false
.meta_key
в базе данных в таблице wp_blogmeta
. Если скипнуть этот параметр, то будут возвращены вообще все возможные метаполя сайта сети в виде массива (в каком виде – показано ниже в примере).wp_blogmeta
. Если вы хотите получить все эти варианты значений в виде массива, то оставляете этот параметр как есть по умолчанию, если же вам нужно только одно значение поля (самое первое добавленное), либо же у вас и вовсе не хранится несколько значений, то конечно меняем на true
, тогда функция вернёт нам строку/массив, в зависимости от того, что находится в значении метаполя, при значении false
мы всегда будем получать массив, пусть даже и из одного элемента.Если мы вернёмся к скриншоту, который был в самом начале:
То можем получить значения этого мета-поле строчкой кода:
echo get_site_meta( 1, 'language', true );
Или же для текущего сайта:
$site_id = get_current_blog_id(); // предположим хотим узнать язык текущего сайта echo get_site_meta( $site_id, 'language', true );
А ещё я обещал пример с получением всех возможных мета полей:
$everything = get_site_meta( 2 ); // для сайта с ID 2 print_r( $everything ); /* и получаем примерно это: Array ( [language] => Array ( [0] => french ) ) */
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.