WP_Post::__get()publicWP 3.5.0

Getter.

Method of the class: WP_Post{}

No Hooks.

Return

Mixed.

Usage

$WP_Post = new WP_Post();
$WP_Post->__get( $key );
$key(string) (required)
Key to get.

Changelog

Since 3.5.0 Introduced.

WP_Post::__get() code WP 6.4.3

public function __get( $key ) {
	if ( 'page_template' === $key && $this->__isset( $key ) ) {
		return get_post_meta( $this->ID, '_wp_page_template', true );
	}

	if ( 'post_category' === $key ) {
		if ( is_object_in_taxonomy( $this->post_type, 'category' ) ) {
			$terms = get_the_terms( $this, 'category' );
		}

		if ( empty( $terms ) ) {
			return array();
		}

		return wp_list_pluck( $terms, 'term_id' );
	}

	if ( 'tags_input' === $key ) {
		if ( is_object_in_taxonomy( $this->post_type, 'post_tag' ) ) {
			$terms = get_the_terms( $this, 'post_tag' );
		}

		if ( empty( $terms ) ) {
			return array();
		}

		return wp_list_pluck( $terms, 'name' );
	}

	// Rest of the values need filtering.
	if ( 'ancestors' === $key ) {
		$value = get_post_ancestors( $this );
	} else {
		$value = get_post_meta( $this->ID, $key, true );
	}

	if ( $this->filter ) {
		$value = sanitize_post_field( $key, $value, $this->ID, $this->filter );
	}

	return $value;
}