/**
  * @hook hw_sidebars_widgets
  * @param $sidebars
  */
 public static function _sidebars_widgets($sidebars)
 {
     if (is_admin()) {
         return $sidebars;
     }
     global $wp_registered_widgets;
     foreach ($sidebars as $s => $sidebar) {
         if ($s == 'wp_inactive_widgets' || strpos($s, 'orphaned_widgets') === 0 || empty($sidebar)) {
             continue;
         }
         foreach ($sidebar as $w => $widget) {
             // $widget is the id of the widget
             if (!isset($wp_registered_widgets[$widget])) {
                 continue;
             }
             if (isset(self::$checked[$widget])) {
                 $show = self::$checked[$widget];
             } else {
                 $widget_info = HW_AWC::get_widget_data($widget);
                 $opts = $wp_registered_widgets[$widget];
                 $widget_obj = isset($widget_info['widget']) ? $widget_info['widget'] : null;
                 $id_base = isset($widget_info['id_base']) ? $widget_info['id_base'] : '';
                 #$id_base = is_array( $opts['callback'] ) ? $opts['callback'][0]->id_base : $opts['callback'];
                 if (!$id_base) {
                     continue;
                 }
                 $feature = HW_AWC::get_widget_feature($widget, self::_static_option('feature_name'));
                 #
                 if (!$feature || HW_AWC_WidgetFeatures::check_widget_feature($widget, self::_static_option('feature_name') && !$feature->is_active())) {
                     continue;
                 }
                 #$instance = get_option( 'widget_' . $id_base );
                 $instance = $widget_info['instance'];
                 if (!$instance || !is_array($instance)) {
                     continue;
                 }
                 //from 'display widgets' plugin
                 if (isset($instance['_multiwidget']) && $instance['_multiwidget']) {
                     $number = $opts['params'][0]['number'];
                     if (!isset($instance[$number])) {
                         continue;
                     }
                     $instance = $instance[$number];
                     unset($number);
                 }
                 unset($opts);
                 $show = self::show_widget($feature, $instance);
                 self::$checked[$widget] = $show ? true : false;
             }
             if (!$show) {
                 unset($sidebars[$s][$w]);
                 #$this->hide_list[] = "['$s'][$w]";
             }
             unset($widget);
         }
         unset($sidebar);
     }
     return $sidebars;
 }