Apple_Exporter\Builders\Metadata::build PHP Method

build() protected method

Build the component.
protected build ( )
    protected function build()
    {
        $meta = array();
        // The content's intro is optional. In WordPress, it's a post's
        // excerpt. It's an introduction to the article.
        if ($this->content_intro()) {
            $meta['excerpt'] = $this->content_intro();
        }
        // If the content has a cover, use it as thumb.
        if ($this->content_cover()) {
            if ('yes' === $this->get_setting('use_remote_images')) {
                $thumb_url = $this->content_cover();
            } else {
                $filename = \Apple_News::get_filename($this->content_cover());
                $thumb_url = 'bundle://' . $filename;
            }
            $meta['thumbnailURL'] = $thumb_url;
        }
        // Add date fields.
        // We need to get the WordPress post for this
        // since the date functions are inconsistent.
        $post = get_post($this->content_id());
        if (!empty($post)) {
            $post_date = date('c', strtotime(get_gmt_from_date($post->post_date)));
            $post_modified = date('c', strtotime(get_gmt_from_date($post->post_modified)));
            $meta['dateCreated'] = $post_date;
            $meta['dateModified'] = $post_modified;
            $meta['datePublished'] = $post_date;
        }
        // Add canonical URL.
        $meta['canonicalURL'] = get_permalink($this->content_id());
        // Add plugin information to the generator metadata
        $plugin_data = apple_news_get_plugin_data();
        // Add generator information
        $meta['generatorIdentifier'] = sanitize_title_with_dashes($plugin_data['Name']);
        $meta['generatorName'] = $plugin_data['Name'];
        $meta['generatorVersion'] = $plugin_data['Version'];
        return apply_filters('apple_news_metadata', $meta, $this->content_id());
    }
Metadata