public function all() {

		// If we already have attributes, let's return them and bail.
		if ( $this->attr ) {
			return $this->attr;
		}

		$defaults = [];

		// If the a class was input, we want to go ahead and set that as
		// the default class.  That way, filters can know early on that
		// a class has already been declared. Any filters on the defaults
		// should, ideally, respect any classes that already exist.
		if ( isset( $this->input['class'] ) ) {
			$defaults['class'] = $this->input['class'];

			// This is kind of a hacky way to keep the class input
			// from overwriting everything later.
			unset( $this->input['class'] );

		// If no class was input, let's build a custom default.
		} else {
			$defaults['class'] = $this->context ? "{$this->name} {$this->name}--{$this->context}" : $this->name;
		}

		// Compatibility with core WP attributes.
		if ( method_exists( $this, $this->name ) ) {
			$method   = $this->name;
			$defaults = $this->$method( $defaults );
		}

		// Filter the default attributes.
		$defaults = apply_filters( "hybrid/attr/{$this->name}/defaults", $defaults, $this->context, $this );

		// Merge the attributes with the defaults.
		$this->attr = wp_parse_args( $this->input, $defaults );

		// Apply filters to the parsed attributes.
		$this->attr = apply_filters( 'hybrid/attr', $this->attr, $this->name, $this->context );
		$this->attr = apply_filters( "hybrid/attr/{$this->name}", $this->attr, $this->context );

		// Provide a filter hook for the class attribute directly. The
		// classes are split up into an array for easier filtering. Note
		// that theme authors should still utilize the core WP body,
		// post, and comment class filter hooks. This should only be
		// used for custom attributes.
		$hook = "hybrid/attr/{$this->name}/class";

		if ( isset( $this->attr['class'] ) && has_filter( $hook ) ) {

			$classes = apply_filters( $hook, explode( ' ', $this->attr['class'] ), $this->context );

			$this->attr['class'] = join( ' ', array_unique( $classes ) );
		}

		return $this->attr;
	}
public function all() {

		// If we already have attributes, let's return them and bail.
		if ( $this->attr ) {
			return $this->attr;
		}

		$defaults = [];

		// If the a class was input, we want to go ahead and set that as
		// the default class.  That way, filters can know early on that
		// a class has already been declared. Any filters on the defaults
		// should, ideally, respect any classes that already exist.
		if ( isset( $this->input['class'] ) ) {
			$defaults['class'] = $this->input['class'];

			// This is kind of a hacky way to keep the class input
			// from overwriting everything later.
			unset( $this->input['class'] );

		// If no class was input, let's build a custom default.
		} else {
			$defaults['class'] = $this->context ? "{$this->name} {$this->name}--{$this->context}" : $this->name;
		}

		// Compatibility with core WP attributes.
		if ( method_exists( $this, $this->name ) ) {
			$method   = $this->name;
			$defaults = $this->$method( $defaults );
		}

		// Filter the default attributes.
		$defaults = apply_filters( "hybrid/attr/{$this->name}/defaults", $defaults, $this->context, $this );

		// Merge the attributes with the defaults.
		$this->attr = wp_parse_args( $this->input, $defaults );

		// Apply filters to the parsed attributes.
		$this->attr = apply_filters( 'hybrid/attr', $this->attr, $this->name, $this->context );
		$this->attr = apply_filters( "hybrid/attr/{$this->name}", $this->attr, $this->context );

		// Provide a filter hook for the class attribute directly. The
		// classes are split up into an array for easier filtering. Note
		// that theme authors should still utilize the core WP body,
		// post, and comment class filter hooks. This should only be
		// used for custom attributes.
		$hook = "hybrid/attr/{$this->name}/class";

		if ( isset( $this->attr['class'] ) && has_filter( $hook ) ) {

			$classes = apply_filters( $hook, explode( ' ', $this->attr['class'] ), $this->context );

			$this->attr['class'] = join( ' ', array_unique( $classes ) );
		}

		return $this->attr;
	}
public function all ( ) { // If we already have attributes, let's return them and bail. if ( $ this -> attr ) { return $ this -> attr ; } $ defaults = [ ] ; // If the a class was input, we want to go ahead and set that as // the default class.  That way, filters can know early on that // a class has already been declared. Any filters on the defaults // should, ideally, respect any classes that already exist. if ( isset ( $ this -> input [ 'class' ] ) ) { $ defaults [ 'class' ] = $ this -> input [ 'class' ] ; // This is kind of a hacky way to keep the class input // from overwriting everything later. unset ( $ this -> input [ 'class' ] ) ; // If no class was input, let's build a custom default. } else { $ defaults [ 'class' ] = $ this -> context ? "{$this->name} {$this->name}--{$this->context}" : $ this -> name ; } // Compatibility with core WP attributes. if ( method_exists ( $ this , $ this -> name ) ) { $ method = $ this -> name ; $ defaults = $ this -> $ method ( $ defaults ) ; } // Filter the default attributes. $ defaults = apply_filters ( "hybrid/attr/{$this->name}/defaults" , $ defaults , $ this -> context , $ this ) ; // Merge the attributes with the defaults. $ this -> attr = wp_parse_args ( $ this -> input , $ defaults ) ; // Apply filters to the parsed attributes. $ this -> attr = apply_filters ( 'hybrid/attr' , $ this -> attr , $ this -> name , $ this -> context ) ; $ this -> attr = apply_filters ( "hybrid/attr/{$this->name}" , $ this -> attr , $ this -> context ) ; // Provide a filter hook for the class attribute directly. The // classes are split up into an array for easier filtering. Note // that theme authors should still utilize the core WP body, // post, and comment class filter hooks. This should only be // used for custom attributes. $ hook = "hybrid/attr/{$this->name}/class" ; if ( isset ( $ this -> attr [ 'class' ] ) && has_filter ( $ hook ) ) { $ classes = apply_filters ( $ hook , explode ( ' ' , $ this -> attr [ 'class' ] ) , $ this -> context ) ; $ this -> attr [ 'class' ] = join ( ' ' , array_unique ( $ classes ) ) ; } return $ this -> attr ; }
Filters and returns the array of attributes.

@since  5.0.0
@access protected
@return void
Filters and returns the array of attributes .