Поддержка метаданных для сайтов сети мультисайт в WordPress 5.1

В версии WordPress 5.1 была представлена новая таблица метаданных, предназначенная для сайтов внутри сети WordPress Мультисайт.

Хорошая новость – с производительностью метаданных всё окей, вы можете получать их сразу от нескольких сайтов и при этом даже не используя функцию switch_to_blog(). В то же время вы можете запускать циклы для сайтов используя WP_Meta_Query внутри WP_Site_Query. Например:

$args = array(
	'meta_query' => array(
		array(
			'key' => 'language',
			'value' => 'hawaiian'
		)
	)
);
$site_query = new WP_Site_Query();
 
$sites = $site_query->query( $args );

Либо то же самое, но при помощи функции get_sites():

$args = array(
	'meta_query' => array(
		array(
			'key' => 'language',
			'value' => 'hawaiian'
		)
	)
);
 
$sites = get_sites( $args );

Однако не забывайте, что опции сайтов пока ещё никто не отменял:

  • Используйте опции, если эти данные (настройки) никак не будут выходить за пределы того сайта, в котором используются.
  • Используйте метаданные в том случае, если они затронут сразу несколько сайтов сети (а потом их можно будет вытаскивать через meta_query).

Для того, чтобы установить эту таблицу, вы должны обновить базу данных (это делается кнопкой через админку и будет вам автоматически предложено после обновления на 5.1). Тем не менее, чтобы избежать недоразумений, вы можете воспользоваться функцией is_site_meta_supported(), чтобы убедиться, что таблица норм установлена.

Также мы получаем набор из уже знакомых нам функций:

Все эти функции доступны в сети WordPress Мультисайт и работают так же, как и другие функции для работы с метаданными, get_post_meta(), get_user_meta() и т.д.

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: