Check if WordPress sidebar have active widgets

In almost WordPress themes, they have sidebars on pages. In one of the recent WordPress customization, I want to hide side bar section if there aren’t any active widgets on it.

In WordPress, we have a function, wp_get_sidebars_widgets() to get all active widgets. We can use this function with in a custom function and by the way we can check that there is any active widget on particular widget area.

Just use below code snippet in our theme’s or child them’s functions.php file.

function is_sidebar_active($index) {
	global $wp_registered_sidebars;
	$widgetcolums = wp_get_sidebars_widgets();
	if ($widgetcolums[$index])
		return true;
	return false;
}

The below code snippet can checks if a sidebar (widget area) has any active widget on it. So use below code snippet in our page template that have sidebars.

if( is_sidebar_active( 'sidebar-name' ) ):
// Our sidebar comes here
endif;

Recent Posts

  1. Replace string in multiple files - Command line
  2. Solve Grunt error - Port 35729 is already in use by another process
  3. Install WP-CLI
  4. Install LAMP - Apache2 , MariaDB, PHP 7 on Debian 8
  5. Enable / Disable Magento 2 module using command line


Questions / Comments

If you found this article interesting, found errors, or just want to discuss about them, please get in touch. Send an email to hello@sarathlal.com & I like your words.