display_site_statesхук-фильтрWP 5.3.0

Позволяет изменить строку статуса сайта, которая показывается в таблице списка сайтов в админке мультисайта.

Статус сайта сети в таблице сайтов в админке.

По умолчанию в WordPress предусмотрен следующий список статусов:

// для главного сайта сети
$site_states['main'] = __( 'Main' );

// для подсайтов сети
array(
	'archived' => array( 'site-archived', __( 'Archived' ) ),
	'spam'     => array( 'site-spammed', _x( 'Spam', 'site' ) ),
	'deleted'  => array( 'site-deleted', __( 'Deleted' ) ),
	'mature'   => array( 'site-mature', __( 'Mature' ) ),
);

Этот фильтр позволяет добавить свои статусы или просто информацию о сайте, которую вы бы хотели видеть рядом с названием сайта в таблице сайтов в админке мультисайта.

Использование

add_filter( 'display_site_states', 'wp_kama_display_site_states_filter', 10, 2 );

/**
 * Function for `display_site_states` filter-hook.
 * 
 * @param string[] $site_states An array of site states.
 * @param WP_Site  $site        The current site object.
 *
 * @return string[]
 */
function wp_kama_display_site_states_filter( $site_states, $site ){

	// filter...
	return $site_states;
}
$site_states(массив)
Массив строк (статусов сайта).
По умолчанию: 'Main', 'Archived', 'Mature', 'Spam', 'Deleted'
$site(WP_Site)
Объект текущего сайта.

Примеры

0

#1 Добавим свою инфу о сайте

Это нестандартное использование хука, потому что в теории на этом месте должны выводится статусы сайта, которые нужно добавлять и обрабатывать отдельно.

Мы в качестве примера добавим туда просто полезную информацию для админов. Допустим нам часто нужно знать ID сайта сети и какая тема у него используется.

add_filter( 'display_site_states', 'add_sites_status_string', 10, 2 );

// Добавим название тем в информационную строку статуса темы.
function add_sites_status_string( $site_states, $site ){

	switch_to_blog( $site->blog_id );

	$site_states['them'] = get_stylesheet(); // название темы
	$site_states['id'] = $site->blog_id;   // ID сайта

	restore_current_blog();

	return $site_states;
}

Получим:

Доп. информация о сайтах сети.

Список изменений

С версии 5.3.0 Введена.

Где вызывается хук

WP_MS_Sites_List_Table::site_states()
display_site_states
wp-admin/includes/class-wp-ms-sites-list-table.php 671
$site_states = apply_filters( 'display_site_states', $site_states, $_site );

Где используется хук в WordPress

Использование не найдено.