post = $post; } /** * Generates the metadata object by calling the build_* methods and * returns the value. * * @since 3.4.0 * * @return array */ public function get_metadata(): array { $this->build_basic(); $this->build_headline(); $this->build_url(); $this->build_type( $this->post, 'post' ); $this->build_main_entity( 'post' ); $this->build_thumbnail_url( $this->post ); $this->build_image( $this->post ); $this->build_article_section( $this->post ); $this->build_author( $this->post ); $this->build_publisher(); $this->build_keywords( $this->post ); $this->build_metadata_post_times( $this->post ); return $this->metadata; } /** * Populates the headline field in the metadata object. * * @since 3.4.0 */ private function build_headline(): void { $this->metadata['headline'] = $this->clean_value( get_the_title( $this->post ) ); } /** * Populates the url field in the metadata object by getting the current page's URL. * * @since 3.4.0 */ protected function build_url(): void { $this->metadata['url'] = $this->get_current_url( 'post', $this->post->ID ); } }