final public function get_layout_definition() : array {

		$standard_fields = [];
		// Add heading field to module.
		if ( true === apply_filters( 'hogan/module/' . $this->name . '/heading/enabled', false ) ) {
			hogan_append_heading_field( $standard_fields, $this );
		}

		// Add lead field to module.
		if ( true === apply_filters( 'hogan/module/' . $this->name . '/lead/enabled', false ) ) {
			hogan_append_lead_field( $standard_fields, $this );
		}

		$sub_fields = array_merge(
			apply_filters( 'hogan/module/' . $this->name . '/fields_before', [] ),
			$standard_fields,
			$this->get_fields(),
			apply_filters( 'hogan/module/' . $this->name . '/fields_after', [] )
		);

		return [
			'key'        => $this->field_key,
			'name'       => $this->name,
			'label'      => $this->label,
			'display'    => apply_filters( 'hogan/module/' . $this->name . '/layout/display', 'block' ),
			'sub_fields' => apply_filters( 'hogan/module/' . $this->name . '/layout/sub_fields', $sub_fields ),
			'min'        => apply_filters( 'hogan/module/' . $this->name . '/layout/min', '' ),
			'max'        => apply_filters( 'hogan/module/' . $this->name . '/layout/max', '' ),
		];
	}
final public function get_layout_definition() : array {

		$standard_fields = [];
		// Add heading field to module.
		if ( true === apply_filters( 'hogan/module/' . $this->name . '/heading/enabled', false ) ) {
			hogan_append_heading_field( $standard_fields, $this );
		}

		// Add lead field to module.
		if ( true === apply_filters( 'hogan/module/' . $this->name . '/lead/enabled', false ) ) {
			hogan_append_lead_field( $standard_fields, $this );
		}

		$sub_fields = array_merge(
			apply_filters( 'hogan/module/' . $this->name . '/fields_before', [] ),
			$standard_fields,
			$this->get_fields(),
			apply_filters( 'hogan/module/' . $this->name . '/fields_after', [] )
		);

		return [
			'key'        => $this->field_key,
			'name'       => $this->name,
			'label'      => $this->label,
			'display'    => apply_filters( 'hogan/module/' . $this->name . '/layout/display', 'block' ),
			'sub_fields' => apply_filters( 'hogan/module/' . $this->name . '/layout/sub_fields', $sub_fields ),
			'min'        => apply_filters( 'hogan/module/' . $this->name . '/layout/min', '' ),
			'max'        => apply_filters( 'hogan/module/' . $this->name . '/layout/max', '' ),
		];
	}
final public function get_layout_definition ( ) : array { $ standard_fields = [ ] ; // Add heading field to module. if ( true === apply_filters ( 'hogan/module/' . $ this -> name . '/heading/enabled' , false ) ) { hogan_append_heading_field ( $ standard_fields , $ this ) ; } // Add lead field to module. if ( true === apply_filters ( 'hogan/module/' . $ this -> name . '/lead/enabled' , false ) ) { hogan_append_lead_field ( $ standard_fields , $ this ) ; } $ sub_fields = array_merge ( apply_filters ( 'hogan/module/' . $ this -> name . '/fields_before' , [ ] ) , $ standard_fields , $ this -> get_fields ( ) , apply_filters ( 'hogan/module/' . $ this -> name . '/fields_after' , [ ] ) ) ; return [ 'key' => $ this -> field_key , 'name' => $ this -> name , 'label' => $ this -> label , 'display' => apply_filters ( 'hogan/module/' . $ this -> name . '/layout/display' , 'block' ) , 'sub_fields' => apply_filters ( 'hogan/module/' . $ this -> name . '/layout/sub_fields' , $ sub_fields ) , 'min' => apply_filters ( 'hogan/module/' . $ this -> name . '/layout/min' , '' ) , 'max' => apply_filters ( 'hogan/module/' . $ this -> name . '/layout/max' , '' ) , ] ; }
Base class for field definitions.

@return array
Base class for field definitions .