Source View: dynamic_sidebar_before

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: apply_filters( "hook_name", "what_to_filter" ).

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
966                     $index = $key;
967                     break;
968                }
969           }
970      }
971
972      $sidebars_widgets = wp_get_sidebars_widgets();
973      if ( empty( $wp_registered_sidebars[ $index ] ) || empty( $sidebars_widgets[ $index ] ) || ! is_array( $sidebars_widgets[ $index ] ) ) {
974           /** This action is documented in wp-includes/widgets.php */
975           do_action( 'dynamic_sidebar_before', $index, false );
976           /** This action is documented in wp-includes/widgets.php */
977           do_action( 'dynamic_sidebar_after',  $index, false );
978           /** This filter is documented in wp-includes/widgets.php */
979           return apply_filters( 'dynamic_sidebar_has_widgets', false, $index );
980      }
981
982      /**
983       * Fires before widgets are rendered in a dynamic sidebar.
984       *
985       * Note: The action also fires for empty sidebars, and on both the front-end
986       * and back-end, including the Inactive Widgets sidebar on the Widgets screen.
987       *
988       * @since 3.9.0
989       *
990       * @param int|string $index       Index, name, or ID of the dynamic sidebar.
991       * @param bool       $has_widgets Whether the sidebar is populated with widgets.
992       *                                Default true.
993       */
994      do_action( 'dynamic_sidebar_before', $index, true );
995      $sidebar = $wp_registered_sidebars[$index];
996
997      $did_one = false;
998      foreach ( (array) $sidebars_widgets[$index] as $id ) {
999
1000           if ( !isset($wp_registered_widgets[$id]) ) continue;
1001
1002           $params = array_merge(
1003                array( array_merge( $sidebar, array('widget_id' => $id, 'widget_name' => $wp_registered_widgets[$id]['name']) ) ),