$grid_group_data ) { foreach ( $grid_group_data as $grid_class => $grid_data ) { $rest = 12; // Calculate empty columns. foreach ( $grid_data as $panel_id => $panel_width ) { $width = (int) $panel_width; if ( isset( $panels[ $panel_id ] ) ) { $rest -= $width; } } $content[ $grid_group_name ][ $grid_class ]['rest'] = $rest; } } return $content; } ////////////////////////////////////////////////// /** * Returns grid with all classes filled. * * @since 1.0.0 * * @param array $content Content to filter. * * @return array */ static function get_full_grid( $content ) { $grid = $content; $content = array(); foreach ( $grid as $grid_group_name => $grid_group_data ) { // Get default grid data. if ( ! isset( $grid[ $grid_group_name ]['default'] ) ) { $grid[ $grid_group_name ]['default'] = reset( $grid[ $grid_group_name ] ); } $content[ $grid_group_name ]['default'] = $grid[ $grid_group_name ]['default']; // Fill grid based on default. foreach ( self::$grid_classes as $grid_class_name ) { if ( ! isset( $grid[ $grid_group_name ][ $grid_class_name ] ) ) { $content[ $grid_group_name ][ $grid_class_name ] = $grid[ $grid_group_name ]['default']; } else { $content[ $grid_group_name ][ $grid_class_name ] = wp_parse_args( $grid[ $grid_group_name ][ $grid_class_name ], $grid[ $grid_group_name ]['default'] ); } } } return $content; } ////////////////////////////////////////////////// /** * Returns grid altered by the gived array. * * @since 1.0.0 * * @param array $content Content to filter. * @param array $altering Altering array. * * @return array */ static function get_grid_altering( $content, $altering = array() ) { foreach ( $altering as $grid_group_name => $grid_group_data ) { if ( ( ! empty( $grid_group_data ) ) && ( is_array( $grid_group_data ) ) ) { foreach ( $grid_group_data as $grid_class_name => $grid_class_data ) { if ( $grid_class_data ) { $content[ $grid_group_name ][ $grid_class_name ] = $altering[ $grid_group_name ][ $grid_class_name ]; } } } } return $content; } //////////////////////////////////////////////////////////// //// End of our class. //////////////////////////////////////////////////////////// }