src/data.php
public static function get_custom_field_data( $post_id ) {

		global $post;
		if ( ! is_object( $post ) ) {
			$post = get_post( $post_id );
		}

		$raw_data = get_post_meta( $post_id  );

		if ( ! is_array( $raw_data ) ) {
			return;

		}
		
		// init the data array		
		$template_data = array();

		// add taxonomies in with a :taxonomy alias
		$taxonomies = get_object_taxonomies( $post );
		if( !empty( $taxonomies ) ){
			foreach ( $taxonomies as $taxonomy_name  ) {

				$taxonomy = get_taxonomy( $taxonomy_name );
				$template_data['taxonomy'][ $taxonomy_name ] = $template_data[ $taxonomy_name ] = wp_get_post_terms( $post->ID, $taxonomy_name, array("fields" => "all") );

			}
		}

		// break to standard arrays
		foreach( $raw_data as $meta_key=>$meta_data ){

			if( count( $meta_data ) === 1 ){
				if( strlen( trim( $meta_data[0] ) ) > 0 ){ // check value is something else leave it out.
					$template_data[$meta_key] = trim( $meta_data[0] );
				}
			}else{
				$template_data[$meta_key] = $meta_data;
			}
		}
		// ACF support
		if( class_exists( 'acf' ) ){
			$fields = get_fields( $post->ID );
			if ( is_array( $fields ) && ! empty( $fields ) ) {
				$template_data = array_merge( $template_data, $fields );
			}

		}
		// CFS support
		if( class_exists( 'Custom_Field_Suite' ) ){
			$fields = CFS()->get();
			if ( is_array( $fields ) && ! empty( $fields ) ) {
				$template_data = array_merge( $template_data, $fields );
			}

		}

		//Pods support
		if ( class_exists( 'Pods' ) && false != ( $pods = pods( $post->post_type, $post->ID, true ) ) ) {
			$fields = $pods->export();
			if ( is_array( $fields ) && ! empty( $fields ) ) {
				$template_data = array_merge( $template_data, $fields );
			}

		}


		// include post values if in a post
		if( !empty( $post ) ){
			foreach( $post as $post_key=>$post_value ){
				$template_data[$post_key] = $post_value;
			}
			// author details
			$template_data['post_author'] = get_userdata( $template_data['post_author'] );
			// add permalink
			$template_data['permalink'] = get_permalink( $post->ID );
			// core post object
			$template_data['post_format'] = get_post_format( $post );

		}

		return $template_data;

	}
public static function get_custom_field_data( $post_id ) {

		global $post;
		if ( ! is_object( $post ) ) {
			$post = get_post( $post_id );
		}

		$raw_data = get_post_meta( $post_id  );

		if ( ! is_array( $raw_data ) ) {
			return;

		}
		
		// init the data array		
		$template_data = array();

		// add taxonomies in with a :taxonomy alias
		$taxonomies = get_object_taxonomies( $post );
		if( !empty( $taxonomies ) ){
			foreach ( $taxonomies as $taxonomy_name  ) {

				$taxonomy = get_taxonomy( $taxonomy_name );
				$template_data['taxonomy'][ $taxonomy_name ] = $template_data[ $taxonomy_name ] = wp_get_post_terms( $post->ID, $taxonomy_name, array("fields" => "all") );

			}
		}

		// break to standard arrays
		foreach( $raw_data as $meta_key=>$meta_data ){

			if( count( $meta_data ) === 1 ){
				if( strlen( trim( $meta_data[0] ) ) > 0 ){ // check value is something else leave it out.
					$template_data[$meta_key] = trim( $meta_data[0] );
				}
			}else{
				$template_data[$meta_key] = $meta_data;
			}
		}
		// ACF support
		if( class_exists( 'acf' ) ){
			$fields = get_fields( $post->ID );
			if ( is_array( $fields ) && ! empty( $fields ) ) {
				$template_data = array_merge( $template_data, $fields );
			}

		}
		// CFS support
		if( class_exists( 'Custom_Field_Suite' ) ){
			$fields = CFS()->get();
			if ( is_array( $fields ) && ! empty( $fields ) ) {
				$template_data = array_merge( $template_data, $fields );
			}

		}

		//Pods support
		if ( class_exists( 'Pods' ) && false != ( $pods = pods( $post->post_type, $post->ID, true ) ) ) {
			$fields = $pods->export();
			if ( is_array( $fields ) && ! empty( $fields ) ) {
				$template_data = array_merge( $template_data, $fields );
			}

		}


		// include post values if in a post
		if( !empty( $post ) ){
			foreach( $post as $post_key=>$post_value ){
				$template_data[$post_key] = $post_value;
			}
			// author details
			$template_data['post_author'] = get_userdata( $template_data['post_author'] );
			// add permalink
			$template_data['permalink'] = get_permalink( $post->ID );
			// core post object
			$template_data['post_format'] = get_post_format( $post );

		}

		return $template_data;

	}
public static function get_custom_field_data ( $ post_id ) { global $ post ; if ( ! is_object ( $ post ) ) { $ post = get_post ( $ post_id ) ; } $ raw_data = get_post_meta ( $ post_id ) ; if ( ! is_array ( $ raw_data ) ) { return ; } // init the data array		 $ template_data = array ( ) ; // add taxonomies in with a :taxonomy alias $ taxonomies = get_object_taxonomies ( $ post ) ; if ( ! empty ( $ taxonomies ) ) { foreach ( $ taxonomies as $ taxonomy_name ) { $ taxonomy = get_taxonomy ( $ taxonomy_name ) ; $ template_data [ 'taxonomy' ] [ $ taxonomy_name ] = $ template_data [ $ taxonomy_name ] = wp_get_post_terms ( $ post -> ID , $ taxonomy_name , array ( "fields" => "all" ) ) ; } } // break to standard arrays foreach ( $ raw_data as $ meta_key => $ meta_data ) { if ( count ( $ meta_data ) === 1 ) { if ( strlen ( trim ( $ meta_data [ 0 ] ) ) > 0 ) { // check value is something else leave it out. $ template_data [ $ meta_key ] = trim ( $ meta_data [ 0 ] ) ; } } else { $ template_data [ $ meta_key ] = $ meta_data ; } } // ACF support if ( class_exists ( 'acf' ) ) { $ fields = get_fields ( $ post -> ID ) ; if ( is_array ( $ fields ) && ! empty ( $ fields ) ) { $ template_data = array_merge ( $ template_data , $ fields ) ; } } // CFS support if ( class_exists ( 'Custom_Field_Suite' ) ) { $ fields = CFS ( ) -> get ( ) ; if ( is_array ( $ fields ) && ! empty ( $ fields ) ) { $ template_data = array_merge ( $ template_data , $ fields ) ; } } //Pods support if ( class_exists ( 'Pods' ) && false != ( $ pods = pods ( $ post -> post_type , $ post -> ID , true ) ) ) { $ fields = $ pods -> export ( ) ; if ( is_array ( $ fields ) && ! empty ( $ fields ) ) { $ template_data = array_merge ( $ template_data , $ fields ) ; } } // include post values if in a post if ( ! empty ( $ post ) ) { foreach ( $ post as $ post_key => $ post_value ) { $ template_data [ $ post_key ] = $ post_value ; } // author details $ template_data [ 'post_author' ] = get_userdata ( $ template_data [ 'post_author' ] ) ; // add permalink $ template_data [ 'permalink' ] = get_permalink ( $ post -> ID ) ; // core post object $ template_data [ 'post_format' ] = get_post_format ( $ post ) ; } return $ template_data ; }
Merge in Custom field data, meta and post data

@return    array    array with merged data
Merge in Custom field data meta and post data