packages/kirki-framework/module-css/src/Output.php
protected function parse_output() {
		foreach ( $this->output as $output ) {
			$skip = false;

			// Apply any sanitization callbacks defined.
			$value = $this->apply_sanitize_callback( $output, $this->value );

			// Skip if value is empty.
			if ( '' === $this->value ) {
				$skip = true;
			}

			// No need to proceed this if the current value is the same as in the "exclude" value.
			if ( isset( $output['exclude'] ) && is_array( $output['exclude'] ) ) {
				foreach ( $output['exclude'] as $exclude ) {
					if ( is_array( $value ) ) {
						if ( is_array( $exclude ) ) {
							$diff1 = array_diff( $value, $exclude );
							$diff2 = array_diff( $exclude, $value );

							if ( empty( $diff1 ) && empty( $diff2 ) ) {
								$skip = true;
							}
						}
						// If 'choice' is defined check for sub-values too.
						// Fixes https://github.com/aristath/kirki/issues/1416.
						if ( isset( $output['choice'] ) && isset( $value[ $output['choice'] ] ) && $exclude == $value[ $output['choice'] ] ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
							$skip = true;
						}
					}
					if ( $skip ) {
						continue;
					}

					// Skip if value is defined as excluded.
					if ( $exclude === $value || ( '' === $exclude && empty( $value ) ) ) {
						$skip = true;
					}
				}
			}
			if ( $skip ) {
				continue;
			}

			// Apply any value patterns defined.
			$value = $this->apply_value_pattern( $output, $value );

			if ( isset( $output['element'] ) && is_array( $output['element'] ) ) {
				$output['element'] = array_unique( $output['element'] );
				sort( $output['element'] );
				$output['element'] = implode( ',', $output['element'] );
			}

			$value = $this->process_value( $value, $output );

			if ( ( is_admin() && ! is_customize_preview() ) || ( isset( $_GET['editor'] ) && '1' === $_GET['editor'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification

				// Check if this is an admin style.
				if ( ! isset( $output['context'] ) || ! in_array( 'editor', $output['context'], true ) ) {
					continue;
				}
			} elseif ( isset( $output['context'] ) && ! in_array( 'front', $output['context'], true ) ) {

				// Check if this is a frontend style.
				continue;
			}
			$this->process_output( $output, $value );
		}
	}
protected function parse_output() {
		foreach ( $this->output as $output ) {
			$skip = false;

			// Apply any sanitization callbacks defined.
			$value = $this->apply_sanitize_callback( $output, $this->value );

			// Skip if value is empty.
			if ( '' === $this->value ) {
				$skip = true;
			}

			// No need to proceed this if the current value is the same as in the "exclude" value.
			if ( isset( $output['exclude'] ) && is_array( $output['exclude'] ) ) {
				foreach ( $output['exclude'] as $exclude ) {
					if ( is_array( $value ) ) {
						if ( is_array( $exclude ) ) {
							$diff1 = array_diff( $value, $exclude );
							$diff2 = array_diff( $exclude, $value );

							if ( empty( $diff1 ) && empty( $diff2 ) ) {
								$skip = true;
							}
						}
						// If 'choice' is defined check for sub-values too.
						// Fixes https://github.com/aristath/kirki/issues/1416.
						if ( isset( $output['choice'] ) && isset( $value[ $output['choice'] ] ) && $exclude == $value[ $output['choice'] ] ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
							$skip = true;
						}
					}
					if ( $skip ) {
						continue;
					}

					// Skip if value is defined as excluded.
					if ( $exclude === $value || ( '' === $exclude && empty( $value ) ) ) {
						$skip = true;
					}
				}
			}
			if ( $skip ) {
				continue;
			}

			// Apply any value patterns defined.
			$value = $this->apply_value_pattern( $output, $value );

			if ( isset( $output['element'] ) && is_array( $output['element'] ) ) {
				$output['element'] = array_unique( $output['element'] );
				sort( $output['element'] );
				$output['element'] = implode( ',', $output['element'] );
			}

			$value = $this->process_value( $value, $output );

			if ( ( is_admin() && ! is_customize_preview() ) || ( isset( $_GET['editor'] ) && '1' === $_GET['editor'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification

				// Check if this is an admin style.
				if ( ! isset( $output['context'] ) || ! in_array( 'editor', $output['context'], true ) ) {
					continue;
				}
			} elseif ( isset( $output['context'] ) && ! in_array( 'front', $output['context'], true ) ) {

				// Check if this is a frontend style.
				continue;
			}
			$this->process_output( $output, $value );
		}
	}
protected function parse_output ( ) { foreach ( $ this -> output as $ output ) { $ skip = false ; // Apply any sanitization callbacks defined. $ value = $ this -> apply_sanitize_callback ( $ output , $ this -> value ) ; // Skip if value is empty. if ( '' === $ this -> value ) { $ skip = true ; } // No need to proceed this if the current value is the same as in the "exclude" value. if ( isset ( $ output [ 'exclude' ] ) && is_array ( $ output [ 'exclude' ] ) ) { foreach ( $ output [ 'exclude' ] as $ exclude ) { if ( is_array ( $ value ) ) { if ( is_array ( $ exclude ) ) { $ diff1 = array_diff ( $ value , $ exclude ) ; $ diff2 = array_diff ( $ exclude , $ value ) ; if ( empty ( $ diff1 ) && empty ( $ diff2 ) ) { $ skip = true ; } } // If 'choice' is defined check for sub-values too. // Fixes https://github.com/aristath/kirki/issues/1416. if ( isset ( $ output [ 'choice' ] ) && isset ( $ value [ $ output [ 'choice' ] ] ) && $ exclude == $ value [ $ output [ 'choice' ] ] ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison $ skip = true ; } } if ( $ skip ) { continue ; } // Skip if value is defined as excluded. if ( $ exclude === $ value || ( '' === $ exclude && empty ( $ value ) ) ) { $ skip = true ; } } } if ( $ skip ) { continue ; } // Apply any value patterns defined. $ value = $ this -> apply_value_pattern ( $ output , $ value ) ; if ( isset ( $ output [ 'element' ] ) && is_array ( $ output [ 'element' ] ) ) { $ output [ 'element' ] = array_unique ( $ output [ 'element' ] ) ; sort ( $ output [ 'element' ] ) ; $ output [ 'element' ] = implode ( ',' , $ output [ 'element' ] ) ; } $ value = $ this -> process_value ( $ value , $ output ) ; if ( ( is_admin ( ) && ! is_customize_preview ( ) ) || ( isset ( $ _GET [ 'editor' ] ) && '1' === $ _GET [ 'editor' ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification // Check if this is an admin style. if ( ! isset ( $ output [ 'context' ] ) || ! in_array ( 'editor' , $ output [ 'context' ] , true ) ) { continue ; } } elseif ( isset ( $ output [ 'context' ] ) && ! in_array ( 'front' , $ output [ 'context' ] , true ) ) { // Check if this is a frontend style. continue ; } $ this -> process_output ( $ output , $ value ) ; } }
Parses the output arguments.
Calls the process_output method for each of them.

@access protected
Parses the output arguments . Calls the process_output method for each of them .