is_active_sidebar( string|int $index ): bool

Determines whether a sidebar contains widgets.

Description

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.

Parameters

$indexstring|intrequired
Sidebar name, id or number to check.

Return

bool True if the sidebar has widgets, false otherwise.

Source

function is_active_sidebar( $index ) {
	$index             = ( is_int( $index ) ) ? "sidebar-$index" : sanitize_title( $index );
	$sidebars_widgets  = wp_get_sidebars_widgets();
	$is_active_sidebar = ! empty( $sidebars_widgets[ $index ] );

	/**
	 * Filters whether a dynamic sidebar is considered "active".
	 *
	 * @since 3.9.0
	 *
	 * @param bool       $is_active_sidebar Whether or not the sidebar should be considered "active".
	 *                                      In other words, whether the sidebar contains any widgets.
	 * @param int|string $index             Index, name, or ID of the dynamic sidebar.
	 */
	return apply_filters( 'is_active_sidebar', $is_active_sidebar, $index );
}

Hooks

apply_filters( ‘is_active_sidebar’, bool $is_active_sidebar, int|string $index )

Filters whether a dynamic sidebar is considered “active”.

Changelog

VersionDescription
2.8.0Introduced.

User Contributed Notes

  1. Skip to note 6 content

    Note that you cannot search by sidebar name if the ID was not specifically declared when register_sidebar was called, and even then only when the ID is exactly the value of sanitize_title($sidebar_name).

    The simple method used by the code (see above) is the reason for this:

    $index = ( is_int($index) ) ? "sidebar-$index" : sanitize_title($index);

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