Server IP : 104.21.14.103 / Your IP : 3.145.19.185 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/giankuin/thietke365.net/wp-content/plugins/wordpress-seo/src/presenters/open-graph/ |
Upload File : |
<?php namespace Yoast\WP\SEO\Presenters\Open_Graph; use Yoast\WP\SEO\Presentations\Indexable_Presentation; use Yoast\WP\SEO\Presenters\Abstract_Indexable_Presenter; /** * Presenter class for the Open Graph image. */ class Image_Presenter extends Abstract_Indexable_Presenter { /** * The tag key name. * * @var string */ protected $key = 'og:image'; /** * Image tags that we output for each image. * * @var array */ protected static $image_tags = [ 'width' => 'width', 'height' => 'height', 'type' => 'type', ]; /** * Returns the image for a post. * * @return string The image tag. */ public function present() { $images = $this->get(); if ( empty( $images ) ) { return ''; } $return = ''; foreach ( $images as $image_meta ) { $image_url = $image_meta['url']; if ( \is_attachment() ) { global $wp; $image_url = \home_url( $wp->request ); } $class = \is_admin_bar_showing() ? ' class="yoast-seo-meta-tag"' : ''; $return .= '<meta property="og:image" content="' . \esc_url( $image_url, null, 'attribute' ) . '"' . $class . ' />'; foreach ( static::$image_tags as $key => $value ) { if ( empty( $image_meta[ $key ] ) ) { continue; } $return .= \PHP_EOL . "\t" . '<meta property="og:image:' . \esc_attr( $key ) . '" content="' . \esc_attr( $image_meta[ $key ] ) . '"' . $class . ' />'; } } return $return; } /** * Gets the raw value of a presentation. * * @return array The raw value. */ public function get() { $images = []; foreach ( $this->presentation->open_graph_images as $open_graph_image ) { $images[] = \array_intersect_key( // First filter the object. $this->filter( $open_graph_image ), // Then strip all keys that aren't in the image tags or the url. \array_flip( \array_merge( static::$image_tags, [ 'url' ] ) ) ); } return \array_filter( $images ); } /** * Run the image content through the `wpseo_opengraph_image` filter. * * @param array $image The image. * * @return array The filtered image. */ protected function filter( $image ) { /** * Filter: 'wpseo_opengraph_image' - Allow changing the Open Graph image. * * @api string - The URL of the Open Graph image. * * @param Indexable_Presentation $presentation The presentation of an indexable. */ $image_url = \trim( \apply_filters( 'wpseo_opengraph_image', $image['url'], $this->presentation ) ); if ( ! empty( $image_url ) && \is_string( $image_url ) ) { $image['url'] = $image_url; } return $image; } }