protected function get_meta() {
		$method = 'meta';

		if ( ! method_exists( $this, $method ) ) {
			return [];
		}

		$child_meta = call_user_func( [$this, $method] );
		$child_meta = is_array( $child_meta ) ? $child_meta : [];

		$parent_class  = get_parent_class( $this );
		$parent_exists = method_exists( $parent_class, $method );
		$parent_meta   = [];

		while ( $parent_exists ) {
			$rc = new ReflectionClass( $parent_class );

			// Bail if not instantiable.
			if ( ! $rc->isInstantiable() ) {
				break;
			}

			$parent        = $rc->newInstance();
			$output        = call_user_func( [$parent, $method] );
			$output        = is_array( $output ) ? $output : [];
			$parent_meta   = array_merge( $parent_meta, $output );
			$parent_class  = get_parent_class( $parent_class );
			$parent_exists = method_exists( $parent_class, $method );
		}

		return array_merge( $parent_meta, $child_meta );
	}
protected function get_meta() {
		$method = 'meta';

		if ( ! method_exists( $this, $method ) ) {
			return [];
		}

		$child_meta = call_user_func( [$this, $method] );
		$child_meta = is_array( $child_meta ) ? $child_meta : [];

		$parent_class  = get_parent_class( $this );
		$parent_exists = method_exists( $parent_class, $method );
		$parent_meta   = [];

		while ( $parent_exists ) {
			$rc = new ReflectionClass( $parent_class );

			// Bail if not instantiable.
			if ( ! $rc->isInstantiable() ) {
				break;
			}

			$parent        = $rc->newInstance();
			$output        = call_user_func( [$parent, $method] );
			$output        = is_array( $output ) ? $output : [];
			$parent_meta   = array_merge( $parent_meta, $output );
			$parent_class  = get_parent_class( $parent_class );
			$parent_exists = method_exists( $parent_class, $method );
		}

		return array_merge( $parent_meta, $child_meta );
	}
protected function get_meta ( ) { $ method = 'meta' ; if ( ! method_exists ( $ this , $ method ) ) { return [ ] ; } $ child_meta = call_user_func ( [ $ this , $ method ] ) ; $ child_meta = is_array ( $ child_meta ) ? $ child_meta : [ ] ; $ parent_class = get_parent_class ( $ this ) ; $ parent_exists = method_exists ( $ parent_class , $ method ) ; $ parent_meta = [ ] ; while ( $ parent_exists ) { $ rc = new ReflectionClass ( $ parent_class ) ; // Bail if not instantiable. if ( ! $ rc -> isInstantiable ( ) ) { break ; } $ parent = $ rc -> newInstance ( ) ; $ output = call_user_func ( [ $ parent , $ method ] ) ; $ output = is_array ( $ output ) ? $ output : [ ] ; $ parent_meta = array_merge ( $ parent_meta , $ output ) ; $ parent_class = get_parent_class ( $ parent_class ) ; $ parent_exists = method_exists ( $ parent_class , $ method ) ; } return array_merge ( $ parent_meta , $ child_meta ) ; }
Get meta data from type class and merge
with the parent meta data.

@return array
Get meta data from type class and merge with the parent meta data .