WP_MS_Sites_List_Table::site_states( array $site )

In this article

Determines whether to output comma-separated site states.

Parameters

$sitearrayrequired

Source

protected function site_states( $site ) {
	$site_states = array();

	// $site is still an array, so get the object.
	$_site = WP_Site::get_instance( $site['blog_id'] );

	if ( is_main_site( $_site->id ) ) {
		$site_states['main'] = __( 'Main' );
	}

	reset( $this->status_list );

	$site_status = isset( $_REQUEST['status'] ) ? wp_unslash( trim( $_REQUEST['status'] ) ) : '';
	foreach ( $this->status_list as $status => $col ) {
		if ( '1' === $_site->{$status} && $site_status !== $status ) {
			$site_states[ $col[0] ] = $col[1];
		}
	}

	/**
	 * Filters the default site display states for items in the Sites list table.
	 *
	 * @since 5.3.0
	 *
	 * @param string[] $site_states An array of site states. Default 'Main',
	 *                              'Archived', 'Mature', 'Spam', 'Deleted'.
	 * @param WP_Site  $site        The current site object.
	 */
	$site_states = apply_filters( 'display_site_states', $site_states, $_site );

	if ( ! empty( $site_states ) ) {
		$state_count = count( $site_states );

		$i = 0;

		echo ' — ';

		foreach ( $site_states as $state ) {
			++$i;

			$separator = ( $i < $state_count ) ? ', ' : '';

			echo "<span class='post-state'>{$state}{$separator}</span>";
		}
	}
}

Hooks

apply_filters( ‘display_site_states’, string[] $site_states, WP_Site $site )

Filters the default site display states for items in the Sites list table.

Changelog

VersionDescription
5.3.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.